eclipse-ee4j / eclipse-ee4j/metro-wsit
Problem with serializing body of message (contains XML comment), on response when using Saml Sender Vouches security model
- Dominant language
- Java
- Stars
- 6
- Forks
- 21
- Avg merge
- 10h 2m
- Merged PRs (30d)
- 1
Description
Hi, this is what I get in the server log when the webservice is trying to serialize the response which contains XML comments.
[#|2011-04-13T16:04:46.858-0400|SEVERE|glassfish3.0.1|com.sun.xml.wss.logging.impl.opt.signature|_ThreadID=27;_ThreadName=Thread-1;|WSS1759: Following error com.sun.xml.wss.XWSSecurityException: WSS1609: Error while serializing Body element occured while performing canonicalization com.sun.xml.wss.XWSSecurityException: WSS1609: Error while serializing Body element
javax.xml.crypto.dsig.TransformException: com.sun.xml.wss.XWSSecurityException: WSS1609: Error while serializing Body element
at com.sun.xml.ws.security.opt.crypto.dsig.Exc14nCanonicalizer.transform(Exc14nCanonicalizer.java:187)
at com.sun.xml.ws.security.opt.crypto.dsig.Transform.transform(Transform.java:178)
at com.sun.xml.ws.security.opt.crypto.dsig.Reference.transform(Reference.java:183)
at com.sun.xml.ws.security.opt.crypto.dsig.Reference.digest(Reference.java:124)
at com.sun.xml.ws.security.opt.crypto.dsig.Signature.sign(Signature.java:214)
at com.sun.xml.ws.security.opt.impl.dsig.SignatureProcessor.sign(SignatureProcessor.java:122)
at com.sun.xml.wss.impl.filter.SignatureFilter.sign(SignatureFilter.java:631)
at com.sun.xml.wss.impl.filter.SignatureFilter.process(SignatureFilter.java:589)
at com.sun.xml.wss.impl.HarnessUtil.processWSSPolicy(HarnessUtil.java:93)
at com.sun.xml.wss.impl.HarnessUtil.processDeep(HarnessUtil.java:272)
at com.sun.xml.wss.impl.SecurityAnnotator.processMessagePolicy(SecurityAnnotator.java:189)
at com.sun.xml.wss.impl.SecurityAnnotator.secureMessage(SecurityAnnotator.java:150)
at com.sun.xml.wss.provider.wsit.WSITAuthContextBase.secureOutboundMessage(WSITAuthContextBase.java:1665)
at com.sun.xml.wss.provider.wsit.WSITServerAuthContext.secureResponse(WSITServerAuthContext.java:506)
at com.sun.xml.wss.provider.wsit.WSITServerAuthContext.secureResponse(WSITServerAuthContext.java:286)
at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.processResponse(CommonServerSecurityPipe.java:262)
at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:239)
at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:127)
at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:629)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:588)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:573)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:470)
at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:295)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:519)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:288)
at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:143)
at org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:149)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
#### Environment
Glassfish 3.0.1 web service provider, and client dispatch api.
#### Affected Versions
[2.0.1]
Source: [https://github.com/javaee/metro-wsit/issues/1556](https://github.com/javaee/metro-wsit/issues/1556)
Author: glassfishrobot
Contributor guide
Research direction
Start by tracing the failure from com.sun.xml.ws.security.opt.crypto.dsig.Exc14nCanonicalizer.transform and the related Transform, Reference, and Signature classes in the stack trace. Reproduce the GlassFish 3.0.1 web-service response with an XML comment under the Saml Sender Vouches model, then verify that body canonicalization and response serialization complete successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100