eclipse-ee4j / eclipse-ee4j/metro-wsit

Problem with serializing body of message (contains XML comment), on response when using Saml Sender Vouches security model

Open
#343 0 comments 0 reactions 0 assignees View on GitHub
3_1_1-exclude 3-1-2_exclude Comments Component: trust metro2_2-waived Priority: Major Type: Bug XML
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.