我正在尝试使用 ksoap2 库连接到 SOAP Web 服务。我已经阅读了一堆关于它的文档,但我被困住了,因为我的请求不是一个普通的请求。
我需要在发送请求之前指定一些标头。
什么时候使用soap客户端来测试webservice我还需要把它放在soap信封头部分:
<SOAP-ENV:Header>
<mns:AuthIn xmlns:mns="http://enablon/wsdl/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<UserInfo xsi:type="wsdlns:AuthHeader">
<EnaHomeSite xsi:type="xsd:string">sss</EnaHomeSite>
<EnaUserName xsi:type="xsd:string">sadsa</EnaUserName>
<EnaPassword xsi:type="xsd:string">qwertf</EnaPassword>
</UserInfo>
</mns:AuthIn>
</SOAP-ENV:Header>
我的其余代码类似于这种方法
模拟器需要一些时间来处理,所以我假设它会联系服务器,但是对 ...call 的调用会出现:
org.xmlpull.v1.XmlPullParserException: expected: END_TAG {http://schemas.xmlsoap.org/soap/envelope/}Body (position:END_TAG </{http://schemas.xmlsoap.org/soap/envelope/}SOAP-ENV:Fault>@1:505 in java.io.InputStreamReader@43ef45e8)
我的问题是如何将上述标题附加到我的请求中?
我没有为 ksoap 提供好的文档。也许一些教程或示例。谁能指点我一些文档。我找到了javadoc,但它很薄。
我也尝试过格式化我自己的原始 HTTP 请求。(设法在 iPhone 上这样做,它工作得很好)。但是我似乎无法在其中添加请求的正文。我的意思是包含所有标题名称空间和调用所需数据的大肥皂 xml。任何关于这个方向的指针也将不胜感激。
非常感谢,伙计们。
干杯,亚历克斯