2017-01-31 7 views
1

SOAPElementに新しいノードを追加する際に、不要な属性xmlns = ""が追加されています。 どうすれば解決できますか?JAVAX:不要な属性

... 
SOAPFactory factory = SOAPFactory.newInstance(); 
SOAPElement securityElem = factory.createElement("Security", null, "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"); 
SOAPElement tokenElem = factory.createElement("UsernameToken"); 
... 
securityElem.addChildElement(tokenElem); 

結果:

<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
      <UsernameToken xmlns=""/> </Security> 

しかし、私はこの必要があります:あなたは要素が親要素と同じ名前空間になりたい場合は、明示的にそれを作成する必要があります

<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
      <UsernameToken/> </Security> 
+0

結果:

+0

が必要です。

答えて

0

をその名前空間は、createElement()呼び出しにURIを渡すことによって呼び出されます。名前空間要素を作成していない場合は、シリアライザは、その要素がその親要素と同じ名前空間にないことを示すために、名前空間の宣言を挿入します(xmlns="")。

+0

ミスター・マイケル・ケイ、ありがとう、あなたの答えは私がこの問題を解決するのを助けました。そして今、私の要求は正しいですし、Webサービスは良い応答を返します。 –

関連する問題