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/

Reply via email to