I am in the midst of developing a VB.NET SOAP client. The problem I am having is consuming the web service over HTTPS with BASIC authentication. My client works fine over HTTP with BASIC authentication, and also works over HTTPS without BASIC authentication. When I try to consume the web service over HTTPS with BASIC authentication I get the following error:
The underlying connection was closed: The server committed an HTTP protocol violation.
The log follows:
Authenticator[/solid]: Security checking request POST /solid/soap
Authenticator[/solid]: Subject to constraint SecurityConstraint[SolidProtection]
Authenticator[/solid]: Calling checkUserData()
Authenticator[/solid]: Calling authenticate()
Authenticator[/solid]: Failed authenticate() test
Authenticator[/solid]: Security checking request POST /solid/soap
Authenticator[/solid]: Subject to constraint SecurityConstraint[SolidProtection]
Authenticator[/solid]: Calling checkUserData()
Authenticator[/solid]: Calling authenticate()
Authenticator[/solid]: Authenticated 'tomcat' with type 'BASIC'
Authenticator[/solid]: Calling accessControl()
Authenticator[/solid]: Successfully passed all security constraints
StandardContext[/solid]: Mapping contextPath='/solid' with requestURI='/solid/soap' and relativeURI='/soap'
StandardContext[/solid]: Decoded relativeURI='/soap'
StandardContext[/solid]: Mapped to servlet 'rpcrouter' with servlet path '/soap' and path info 'null' and update=true
StandardWrapperValve[rpcrouter]: Servlet.service() for servlet rpcrouter threw exception
javax.servlet.ServletException: Error building response envelope: java.net.SocketException: Socket closed
at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:353)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java)
at java.lang.Thread.run(Thread.java:539)
Any insight would be greatly appreciated.
Thanks,
Toby
Tobias C. Cahoon
96 CG/SCTOA
Eglin AFB
