diff options
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/msg/MsgClient.java')
-rw-r--r-- | src/main/java/at/gv/egiz/moazs/msg/MsgClient.java | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/msg/MsgClient.java b/src/main/java/at/gv/egiz/moazs/msg/MsgClient.java deleted file mode 100644 index d834eff..0000000 --- a/src/main/java/at/gv/egiz/moazs/msg/MsgClient.java +++ /dev/null @@ -1,80 +0,0 @@ -package at.gv.egiz.moazs.msg; - -import at.gv.zustellung.msg.xsd.App2ZusePort; -import at.gv.zustellung.msg.xsd.App2ZusePortService; -import at.gv.zustellung.msg.xsd.DeliveryRequestStatusType; -import at.gv.zustellung.msg.xsd.DeliveryRequestType; -import org.apache.cxf.configuration.jsse.TLSClientParameters; -import org.apache.cxf.endpoint.Client; -import org.apache.cxf.frontend.ClientProxy; -import org.apache.cxf.jaxws.JaxWsClientFactoryBean; -import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; -import org.apache.cxf.message.Message; -import org.apache.cxf.phase.PhaseInterceptor; -import org.apache.cxf.transport.http.HTTPConduit; -import org.apache.cxf.transports.http.configuration.HTTPClientPolicy; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.lang.Nullable; - -import javax.net.ssl.SSLContext; - -//TODO: Rethink design. could this entire class be replaced? -// Because everything the send() method does could be initialized in -// the MsgClientFactory as well. -public class MsgClient { - - private static final Logger log = LoggerFactory.getLogger(MsgClient.class); - - private final PhaseInterceptor<? extends Message> interceptor; - - private final String address; - - //TODO: make configurable - private final int connectionTimeout = 0; - private final int receiveTimeout = 0; - - @Nullable - private final SSLContext sslContext; - - public MsgClient(PhaseInterceptor<? extends Message> interceptor, - String address, - @Nullable SSLContext sslContext) { - this.interceptor = interceptor; - this.address = address; - this.sslContext = sslContext; - } - - /** - * Send {@code msgRequest} to {@code Config/Server/ZUSEUrlID} and run {@code interceptor} on response. - * @return - */ - public DeliveryRequestStatusType send(DeliveryRequestType msgRequest) { - - var factory = new JaxWsClientFactoryBean(); - - factory.setServiceClass(App2ZusePort.class); - factory.setAddress(address); - factory.getInInterceptors().add(interceptor); - - var proxy = new JaxWsProxyFactoryBean(factory).create(); - - Client client = ClientProxy.getClient(proxy); - HTTPConduit http = (HTTPConduit) client.getConduit(); - - var httpClientPolicy = new HTTPClientPolicy(); - httpClientPolicy.setConnectionTimeout(connectionTimeout); - httpClientPolicy.setReceiveTimeout(receiveTimeout); - http.setClient(httpClientPolicy); - - if (sslContext != null) { - var tlsParams = new TLSClientParameters(); - tlsParams.setSSLSocketFactory(sslContext.getSocketFactory()); - http.setTlsClientParameters(tlsParams); - log.info("SSLContext initialized. "); - } - - return ((App2ZusePort)proxy).delivery(msgRequest); - } - -} |