2017-01-31 6 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를 제공하여 해당 네임 스페이스를 만듭니다. 네임 스페이스가없는 요소를 만들면 (예 : 수행 한 것처럼) serializer는 요소가 부모와 동일한 네임 스페이스에 없다는 것을 나타내는 xmlns=""이라는 네임 스페이스 선언을 삽입합니다.

+0

미스터 마이클 케이 (Michael Kay)에게 감사드립니다. 귀하의 답변으로 문제를 해결할 수있었습니다. 그리고 지금 내 요청은 정확하고 웹 서비스는 좋은 응답을 반환합니다. –