我需要将肥皂头信息设置为 Web 方法身份验证的一部分。我在用着ksoap2用于调用 .NET Web 服务的 API。这是带有请求的肥皂头。
<soap:Header>
<DTHeader xmlns="http://myServer.com/webservices/">
<Username> string </Username>
<Password> string </Password>
</DTHeader>
</soap:Header>
<soap:Body>
<MyTestMethod xmlns="http://myServer.com/webservices/">
<ID> string </ID>
<TransID> guid </TransID>
</MyTestMethod>
</soap:Body>
您能否提供android代码来设置soap标头“DTHeader”并设置“用户名”和“密码”。
我是这样做的:
import org.kxml2.kdom.Element;
然后在准备信封的时候
soapEnvelope.headerOut = new Element[1];
soapEnvelope.headerOut[0] = buildAuthHeader();
// ...send request...
with
private Element buildAuthHeader() {
Element h = new Element().createElement(NAMESPACE, "AuthHeader");
Element username = new Element().createElement(NAMESPACE, "user");
username.addChild(Node.TEXT, USERNAME);
h.addChild(Node.ELEMENT, username);
Element pass = new Element().createElement(NAMESPACE, "pass");
pass.addChild(Node.TEXT, PASSWORD);
h.addChild(Node.ELEMENT, pass);
return h;
}
显然,根据需要更改字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)