Hi, I am trying to cosume a .net webservice.The webservice requires username token,password,nonce created in the security header. I am using rampart axis2-1.4.1 and rampart1.4. The probelm is .net webservice uses relative namespaces.So rampart throws org.apache.xml.security.c14n.CanonicalizationException: Element tns:test has a relative namespace I searched the web to find a solution.Some posts are their with the same problem but found no solution.But in one of the apache jira page(http://issues.apache.org/jira/browse/WSS-29) tells that relative name space is not allowed, Change it to absolute. As i am consuming service from another vendor i cant change the namespace declaration. Is their a way to change the relative URI to absolute with out affecting the server side code? Can we edit the soap message after the Canonicalization process? Please give your comments. The Full stacktrace is: org.apache.xml.security.c14n.CanonicalizationException: Element tns:test has a relative namespace: tns="myproject/Test" at org.apache.xml.security.c14n.implementations.Canonicalizer20010315.handleAttributesSubtree(Unknown Source) at org.apache.xml.security.c14n.implementations.CanonicalizerBase.canonicalizeSubTree(Unknown Source) at org.apache.xml.security.c14n.implementations.CanonicalizerBase.engineCanonicalizeSubTree(Unknown Source) at org.apache.xml.security.c14n.implementations.CanonicalizerBase.engineCanonicalizeSubTree(Unknown Source) at org.apache.xml.security.c14n.Canonicalizer.canonicalizeSubtree(Unknown Source) at org.apache.xml.security.utils.XMLUtils.outputDOM(Unknown Source) at org.apache.rampart.util.Axis2Util.getSOAPEnvelopeFromDOMDocument(Axis2Util.java:250) at org.apache.rampart.handler.WSDoAllSender.processBasic(WSDoAllSender.java:218) at org.apache.rampart.handler.WSDoAllSender.processMessage(WSDoAllSender..java:64) at org.apache.rampart.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:72) at org.apache.axis2.engine.Phase.invoke(Phase.java:317) at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:429) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401) at org.apache.axis2.description.OutInAxisOperationClient$NonBlockingInvocationWorker.run(OutInAxisOperation.java:441) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575) at java.lang.Thread.run(Thread.java:619) org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog at [row,col {unknown-source}]: [2,0] org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog at [row,col {unknown-source}]: [2,0] at org.apache.rampart.handler.WSDoAllSender.processMessage(WSDoAllSender..java:67) at org.apache.rampart.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:72) at org.apache.axis2.engine.Phase.invoke(Phase.java:317) at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:429) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401) at org.apache.axis2.description.OutInAxisOperationClient$NonBlockingInvocationWorker.run(OutInAxisOperation.java:441) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.ws.security.WSSecurityException: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog at [row,col {unknown-source}]: [2,0] at org.apache.rampart.util.Axis2Util.getSOAPEnvelopeFromDOMDocument(Axis2Util.java:256) at org.apache.rampart.handler.WSDoAllSender.processBasic(WSDoAllSender.java:218) at org.apache.rampart.handler.WSDoAllSender.processMessage(WSDoAllSender..java:64) ... 9 more Best Regards, R.Jeyavelan
Add more friends to your messenger and enjoy! Go to http://messenger.yahoo.com/invite/