Note that there are some explanatory texts on larger screens.

plurals
  1. POAccessing Web service under SSL CXF SOAP client
    text
    copied!<p>This is a question in connection with my question <a href="https://stackoverflow.com/questions/6897960/ws-security-not-working-with-cxf">here</a>. When I tried to add SSL with a self-signed certificate, I get the following error.</p> <pre><code>org.springframework.web.util.NestedServletException: Request processing failed; nested exception is javax.xml.ws.soap.SOAPFaultException: Error reading XMLStreamReader. org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.jav a:656) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) root cause javax.xml.ws.soap.SOAPFaultException: Error reading XMLStreamReader. org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146) $Proxy107.getEmployee(Unknown Source) org.samith.web.controller.FrontController.frontRequestHandler(FrontController.java:27) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426) org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) root cause com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog at [row,col {unknown-source}]: [1,0] com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:682) com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2090) com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:1996) com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1100) com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java:1123) org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:122) org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60) org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:755) org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2335) org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2193) org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2037) org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47) org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:188) org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:697) org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.h andleMessage(MessageSenderInterceptor.java:62) org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516) org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124) $Proxy107.getEmployee(Unknown Source) org.samith.web.controller.FrontController.frontRequestHandler(FrontController.java:27) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426) org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) </code></pre> <p>And my client configuration file has this xml segment, </p> <pre><code>&lt;http-conf:conduit name="*.http-conduit"&gt; &lt;http-conf:tlsClientParameters secureSocketProtocol="SSL"&gt; &lt;sec:keyManagers keyPassword="*****"&gt; &lt;sec:keyStore type="JKS" password="welcome" file="full_path_to_employee_auth.jks" /&gt; &lt;/sec:keyManagers&gt; &lt;/http-conf:tlsClientParameters&gt; &lt;http:client AutoRedirect="true" Connection="Keep-Alive"/&gt; &lt;/http-conf:conduit&gt; </code></pre> <p>I added the reference to conf/server.xml tomcat file with the correct path to employee_auth.jks file. By the way web xml file of the service side has this entry</p> <pre><code>&lt;security-constraint&gt; &lt;web-resource-collection&gt; &lt;web-resource-name&gt;Restricted web services&lt;/web-resource-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;http-method&gt;GET&lt;/http-method&gt; &lt;http-method&gt;POST&lt;/http-method&gt; &lt;/web-resource-collection&gt; &lt;user-data-constraint&gt; require SSL &lt;transport-guarantee&gt;CONFIDENTIAL&lt;/transport-guarantee&gt; &lt;/user-data-constraint&gt; &lt;/security-constraint&gt; </code></pre> <p>Client server communication happens very well when SSL is not enabled on the service side.I am researching this to get hang on CXF. Any help will be appreciated.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload