From e2150f22562b4bc06307f4ac7b842687390e4856 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 16 Oct 2014 13:42:04 +0200 Subject: change webservice implementation to Apache CXF --- .../java/at/gv/util/client/ersb/ERsBClient.java | 24 ++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'src/main/java/at/gv/util/client/ersb/ERsBClient.java') diff --git a/src/main/java/at/gv/util/client/ersb/ERsBClient.java b/src/main/java/at/gv/util/client/ersb/ERsBClient.java index 5f68ea5..e15c844 100644 --- a/src/main/java/at/gv/util/client/ersb/ERsBClient.java +++ b/src/main/java/at/gv/util/client/ersb/ERsBClient.java @@ -12,6 +12,11 @@ import javax.xml.ws.BindingProvider; import javax.xml.ws.WebServiceContext; import javax.xml.ws.handler.Handler; +import org.apache.cxf.configuration.jsse.TLSClientParameters; +import org.apache.cxf.endpoint.Client; +import org.apache.cxf.frontend.ClientProxy; +import org.apache.cxf.transport.http.HTTPConduit; +import org.apache.cxf.transports.http.configuration.HTTPClientPolicy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,8 +32,6 @@ import at.gv.util.xsd.ersb.ErsbRequest; import at.gv.util.xsd.ersb.ErsbResponse; import at.gv.util.xsd.szr.pvp.PvpTokenType; -import com.sun.xml.ws.developer.JAXWSProperties; - public class ERsBClient { @Resource @@ -88,13 +91,26 @@ public class ERsBClient { throw new EgovUtilException("SSL context from configuration is empty. Please configure an SSL context in the configuration first."); } - requestContext.put(JAXWSProperties.SSL_SOCKET_FACTORY, sslContext.getSocketFactory()); + Client client = ClientProxy.getClient(port); + HTTPConduit http = (HTTPConduit) client.getConduit(); + HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy(); + + httpClientPolicy.setConnectionTimeout(36000); + httpClientPolicy.setAllowChunking(false); + httpClientPolicy.setReceiveTimeout(32000); + + http.setClient(httpClientPolicy); + TLSClientParameters tlsParams = new TLSClientParameters(); + tlsParams.setSSLSocketFactory(sslContext.getSocketFactory()); + // check for lax hostname if (this.config.getERsBsslConfiguration().useLaxHostNameVerifier()) { log.trace("LaxHostnameVerifier enabled. This setting is not recommended to use."); - requestContext.put(JAXWSProperties.HOSTNAME_VERIFIER, new LaxHostNameVerifier()); + tlsParams.setHostnameVerifier(new LaxHostNameVerifier()); } + + http.setTlsClientParameters(tlsParams ); } return port.ersb(mir); -- cgit v1.2.3