Further info:

When I debug, the following line:
       String prefix = parent.getPrefix();

in WSSecurityUtil.createElementInSameNamespace(Element, String), it
gives unexpected result. I inspect the parent, it is correct. It is
"soap:Envelope" element. However, the prefix returned is "" while
"soap" is expected.

I tried to test the getPrefix() and getNamespaceUri() methods using
some test classes. I found that even if the SOAP Envelope contains
default namespace, getNamespaceUri() still returns null.

How does WSS4J test that? Is there anything I missed out?


Regards,
Xinjun


On 9/12/06, Xinjun Chen <[EMAIL PROTECTED]> wrote:
I am trying to use wss4j 1.5 to test signature using UsernameToken.
The SOAP message is to be processed by a .NET web service. I meet some
error I don't know this is because of the namespace of the


org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create
or change an object in a way which is incorrect with regard to
namespaces.
       at org.apache.xerces.dom.CoreDocumentImpl.checkNamespaceWF(Unknown 
Source)
       at org.apache.xerces.dom.ElementNSImpl.setName(Unknown Source)
       at org.apache.xerces.dom.ElementNSImpl.<init>(Unknown Source)
       at org.apache.xerces.dom.CoreDocumentImpl.createElementNS(Unknown Source)
       at 
org.apache.ws.security.util.WSSecurityUtil.createElementInSameNamespace(WSSecurityUtil.java:519)
       at 
org.apache.ws.security.util.WSSecurityUtil.findWsseSecurityHeaderBlock(WSSecurityUtil.java:637)
       at 
org.apache.ws.security.message.WSSecHeader.insertSecurityHeader(WSSecHeader.java:134)
       at 
tests.com.crimsonlogic.wsg.core.ws.security.TestSignature.main(TestSignature.java:194)
Exception in thread "main"


The original Soap Envelope is as follows:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
       xmlns:xsd="http://www.w3.org/2001/XMLSchema";
       xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing";
       
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
       
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";>
       <soap:Header>
               <wsa:Action wsu:Id="Id-79eb36bd-d85a-4b5e-929f-f3b193247bb2">
                       http://tempuri.org/ProcessMessage
               </wsa:Action>
               <wsa:MessageID
                       wsu:Id="Id-ca3138aa-9c1e-46dc-b7f2-982676fda931">
                       uuid:9a8468bd-aa14-46a7-9090-5f37cd105151
               </wsa:MessageID>
               <wsa:ReplyTo wsu:Id="Id-1a1a632e-36c0-44ee-8794-e7a367c8ebbd">
                       <wsa:Address>
                               
http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
                       </wsa:Address>
               </wsa:ReplyTo>
               <wsa:To wsu:Id="Id-a71c4ecd-b73e-4d04-aab9-75c966122ff0">
                       https://secureserver.com/wscomm.asmx
               </wsa:To>
       </soap:Header>


Is this a bug of WSS4J 1.5? Could you suggest how to solve this problem?



Regards,
Xinjun


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to