package at.gv.egiz.moazs.msg; import at.gv.zustellung.app2mzs.xsd.ConfigType; import at.gv.zustellung.msg.xsd.App2ZusePort; import at.gv.zustellung.msg.xsd.DeliveryRequestStatusType; import at.gv.zustellung.msg.xsd.DeliveryRequestType; import org.apache.cxf.jaxws.JaxWsClientFactoryBean; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MsgClient { private static final Logger log = LoggerFactory.getLogger(MsgClient.class); private final DeliveryRequestType msgRequest; private final ConfigType config; MsgClient(DeliveryRequestType msgRequest, ConfigType config) { this.msgRequest = msgRequest; this.config = config; } public DeliveryRequestStatusType send() { var proxy = connect(config); return proxy.delivery(msgRequest); } private App2ZusePort connect(ConfigType config) { new JaxWsClientFactoryBean(); var address = config.getServer().getZUSEUrlID(); var factory = new JaxWsProxyFactoryBean(); factory.setServiceClass(App2ZusePort.class); factory.setAddress(address); var proxy = factory.create(); // var client = ClientProxy.getClient(proxy); // var conduit = (HTTPConduit) client.getConduit(); // // if (addressIsHttps(address)) { // var tlsParams = new TLSClientParameters(); // tlsParams.setSSLSocketFactory(createSSLContext().getSocketFactory()); // conduit.setTlsClientParameters(tlsParams); // } return (App2ZusePort) proxy; } // private SSLContext createSSLContext() { // java.util.Properties props = new Properties(); // props.entrySet(); // // // return SSLUtils.getPropertiesSSLContext(this.props, this.configDir, this.propsPrefix, forceTrustAllManager); // return null; // } private boolean addressIsHttps(String address) { return address.startsWith("https://"); } }