aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/msg/MsgClient.java
diff options
context:
space:
mode:
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.java80
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);
- }
-
-}