当您使用addproperty时,它会自动将其添加到SOAP主体中,这样在您的示例中就错了。
如果要设置用户名/密码安全头,必须建立必要的元素[],并将其设置为信封上的HeaderOut。
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.headerOut = security;
要将安全性作为元素建立起来,您可以使用以下行中的某些内容
Element usernameElement = new Element().createElement(OASIS_SECURITY_XSD_URL, "Username");
usernameElement.addChild(Node.TEXT, username);
Element passwordElement = new Element().createElement(OASIS_SECURITY_XSD_URL, "Password");
passwordElement.addChild(Node.TEXT, password);
Element usernameTokenElement = new Element().createElement(OASIS_SECURITY_XSD_URL, "UsernameToken");
usernameTokenElement.addChild(Node.ELEMENT, usernameElement);
usernameTokenElement.addChild(Node.ELEMENT, passwordElement);
Element securityElement = new Element().createElement(OASIS_SECURITY_XSD_URL, "Security");
securityElement.setPrefix(null, OASIS_SECURITY_XSD_URL);
securityElement.addChild(Node.ELEMENT, usernameTokenElement);
在将其设置为headerout之前,将其全部添加到元素[]中