正在尝试指定自定义 soap header 。不确定如何填充 SoapEnvelope.headerOut 属性。
到目前为止我的代码?
String soapAction = serviceNamespace + "/SearchCustomer";
SoapObject rpc = new SoapObject(serviceNamespace, "SearchCustomers");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = true;
envelope.encodingStyle = SoapSerializationEnvelope.ENC;
rpc.addProperty("searchBy", searchBy);
rpc.addProperty("groupBy", Integer.toString(groupBy));
这是标题 WSDL 提取...
<soap:Header>
<MISHeader xmlns="http://NCBI/WS/CRM">
<applicationName>string</applicationName>
<userName>string</userName>
</MISHeader>
</soap:Header>
最佳答案
headerOut 是您需要构建的 Element[]。
类似这样的东西
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);
然后将它添加到一个数组中..
关于java - 黑莓 kSoap2 和皂头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4194920/