2012-02-23 5 views
0

は、内部ノードとそれがそうするようにattempingとき、私は次のエラーを取得する次SOAP HEADERのchildNodeに子ノードを追加する方法は?私は子供たちを作成しようとしています

SOAPEnvelope envelope = soapPart.getEnvelope(); 
    SOAPElement userNameToken = envelope.getHeader().addChildElement("Usernametoken", WSSE_NS_PREFIX, WSSE_NS); 
    SOAPElement user = userNameToken.addChildElement("UserName", WSSE_NS, WSSE_NS_PREFIX); 

と、次の

<soapenv:Header> 
     <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
     <wsse:UsernameToken wsu:Id="UsernameToken-21" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> 
      <wsse:Username>USER</wsse:Username> 
      <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">PAASS</wsse:Password> 
      <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">==</wsse:Nonce> 
      <wsu:Created>2012-02-22T16:27:29.088Z</wsu:Created> 
     </wsse:UsernameToken> 
     </wsse:Security> 
    </soapenv:Header> 

次のようになります。

NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces. 

答えて

1

引数の順序が混在しているようです(WSSE_NSとWSSE_NS_PREFIX)

SOAPEnvelope envelope = soapPart.getEnvelope(); 
SOAPElement userNameToken = envelope.getHeader().addChildElement("Usernametoken", WSSE_NS_PREFIX, WSSE_NS); 
SOAPElement user = userNameToken.addChildElement("UserName", WSSE_NS_PREFIX, WSSE_NS); 
+0

ありがとう私の目は狂っていた:) – Tai

関連する問題