简体   繁体   中英

How do you set Type attribute to a child element in a SOAP request?

I need to add Type to the password child element.

Current SOAP request -

<wsse:Security>
  <wsse:UsernameToken>
    <wsse:Username>user123</wsse:Username>
    <wsse:Password>xxxxx</wsse:Password>                        
  </wsse:UsernameToken>
</wsse:Security>

Code generating this -

String prefix = "wsse";
SOAPElement security = header.addChildElement("Security", prefix);
SOAPElement token = security.addChildElement("UsernameToken", prefix);
token.addChildElement("Username", prefix).addTextNode("user123");
token.addChildElement("Password", prefix).addTextNode("xxxxx");

I need to generate a SOAP request like -

<wsse:Security>
  <wsse:UsernameToken>
    <wsse:Username>user123</wsse:Username>
    <wsse:Password Type="http://abc.def-ghi.org/wss/2016/09/xyz-wss-username-token-profile-1.0#PasswordText">xxxxx</wsse:Password>                        
  </wsse:UsernameToken>
</wsse:Security>
String prefix = "wsse";
SOAPElement security = header.addChildElement("Security", prefix);
SOAPElement token = security.addChildElement("UsernameToken", prefix);
token.addChildElement("Username", prefix).addTextNode("user123");
SOAPElement passwordElement = token.addChildElement("Password",prefix).addTextNode('xxxxx');
passwordElement.setAttribute("Type", "http://abc.def-ghi.org/wss/2016/09/xyz-wss-username-token-profile-1.0#PasswordText");

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM