javaee / metro-wsit

https://javaee.github.io/metro-wsit/
Other
9 stars 24 forks source link

Improve WSIT client error reporting for SpnegoContextToken and SslContextToken #588

Open glassfishrobot opened 17 years ago

glassfishrobot commented 17 years ago

When using message security with WCF, WCF by default passes the certificate within the message. It seems to use SslContextToken and SpnegoContextToken to indicate that in the service policy. Our client logs these assertions as unknown, but does not fail and later generates confusing error messages because the message exchange fails later in the pipe.

Here is a sample configuration

This is the output of our client:

[#|2007-06-08T12:51:35.963+0300|WARNING|sun-appserver9.1|javax.enterprise.resource.xml.webservices.security.policy|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8080-1;_RequestID=68771ebe-4345-461e-8799-010b137ec661;|SP0100: Policy assertion Assertion { assertion data { namespace = 'http://schemas.microsoft.com/ws/2005/07/securitypolicy' prefix = 'mssp' local name = 'SslContextToken' value = 'null' attributes

{ name = 'http://schemas.xmlsoap.org/ws/2005/07/securitypolicy:IncludeToken', value = 'http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient' }

} no parameters nested policy { id = 'null' name = 'null' vocabulary

{ 1. entry = 'http://schemas.microsoft.com/ws/2005/07/securitypolicy:RequireClientCertificate' 2. entry = 'http://schemas.xmlsoap.org/ws/2005/07/securitypolicy:RequireDerivedKeys' }

assertion set { Assertion { assertion data

{ namespace = 'http://schemas.microsoft.com/ws/2005/07/securitypolicy' prefix = 'mssp' local name = 'RequireClientCertificate' value = 'null' no attributes }

no parameters no nested policy } Assertion { assertion data

{ namespace = 'http://schemas.xmlsoap.org/ws/2005/07/securitypolicy' prefix = 'sp' local name = 'RequireDerivedKeys' value = 'null' no attributes }

no parameters no nested policy } } } } is not supported under Token assertion.|#]

[#|2007-06-08T12:51:35.968+0300|SEVERE|sun-appserver9.1|com.sun.xml.wss.jaxws.impl|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8080-1;_RequestID=68771ebe-4345-461e-8799-010b137ec661;|WSSPIPE0012: Internal Error: Could not detect whether Reliable Messaging is enabled or not. java.lang.NullPointerException at com.sun.xml.ws.security.impl.policyconv.BindingProcessor.addPrimaryTargets(BindingProcessor.java:167) at com.sun.xml.ws.security.impl.policyconv.SymmetricBindingProcessor.process(SymmetricBindingProcessor.java:127) at com.sun.xml.ws.security.impl.policyconv.XWSSPolicyGenerator.process(XWSSPolicyGenerator.java:159) at com.sun.xml.ws.security.impl.policyconv.XWSSPolicyGenerator.process(XWSSPolicyGenerator.java:121) at com.sun.xml.wss.jaxws.impl.SecurityPipeBase.constructPolicyHolder(SecurityPipeBase.java:1139) at com.sun.xml.wss.jaxws.impl.SecurityClientPipe.addIncomingProtocolPolicy(SecurityClientPipe.java:383) at com.sun.xml.wss.jaxws.impl.SecurityPipeBase.buildProtocolPolicy(SecurityPipeBase.java:1092) at com.sun.xml.wss.jaxws.impl.SecurityPipeBase.collectPolicies(SecurityPipeBase.java:658) at com.sun.xml.wss.jaxws.impl.SecurityPipeBase.(SecurityPipeBase.java:271) at com.sun.xml.wss.jaxws.impl.SecurityClientPipe.(SecurityClientPipe.java:95) at com.sun.xml.ws.assembler.PipelineAssemblerFactoryImpl$WsitPipelineAssembler.createClient(PipelineAssemblerFactoryImpl.java:197) at com.sun.xml.ws.api.pipe.TubelineAssemblerFactory$TubelineAssemblerAdapter.createClient(TubelineAssemblerFactory.java:100) at com.sun.xml.ws.client.WSServiceDelegate.createPipeline(WSServiceDelegate.java:397) at com.sun.xml.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:558) at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:306) at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:288) at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:281) at javax.xml.ws.Service.getPort(Service.java:92) at com.sun.xml.ws.test.client.MyService.getMyServiceEndpoint(MyService.java:56) at org.apache.jsp.index_jsp._jspService(index_jsp.java:68) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:477) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:371) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:624) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:624) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:624) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:268) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:631) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:562) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:803) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212) at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:359) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

| #] |

Environment

Operating System: Windows Vista Platform: Other

Affected Versions

[current]

glassfishrobot commented 17 years ago

Reported by ritzmann@java.net

glassfishrobot commented 16 years ago

kumarjayanti@java.net said: Target Milestone 1.3

glassfishrobot commented 16 years ago

ritzmann@java.net said: Reassigning to proper owner.

glassfishrobot commented 16 years ago

mmatula@java.net said: Setting target milestone to force a new evaluation as this issue was targeted for one of the past releases.

glassfishrobot commented 7 years ago

This issue was imported from java.net JIRA WSIT-588