我正在编写一个客户端以使用 ksoap2 在 Android 中使用 SOAP Web 服务。我收到了一个 SOAP FAULT 异常。这是 LogCat 的摘录。
<soapenv:Body><soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>soapenv:Client</faultcode><faultstring>Bad request</faultstring></soapenv:Fault></soapenv:Body></soapenv:Envelope>
04-06 09:04:09.693: E/SearchPublications(1159): SoapFault - faultcode: 'soapenv:Client' faultstring: 'Bad request' faultactor: 'null' detail: null
这就是我从 WSDL 中提取最终字符串值的方式:
Namespace
: element 的属性值,是namespace
的xsd:import
子元素xsd:schema
,是 的子元素types
SoapAction
: 方法名附加的命名空间MethodName
: API 中方法的名称URL
: WSDL 的实际 URL
(参考:这个答案和里面提到的链接。)
我知道我的代码有问题,但是谁能说出可能导致它的原因以及我是否正确设置了提到的最终变量的值?
我也尝试设置dotnet
标志。我正在尝试获取响应,因为它是一个 XML 文档,并且我在一篇文章中读到如果结果是 XML,请使用.true
false
SoapObject
SoapObject
我还尝试对其进行调试,并且在此行之前所有变量显然都具有正确的值(如调试透视图所示):
result= (SoapObject) envelope.getResponse();
在这一行,抛出了一个 SoapFault 异常;您可以比较以下代码和屏幕截图。有人可以建议为什么会发生这种情况以及还有什么可以解决的吗?
try{
result = (SoapObject) soapEnvelope.getResponse();
} catch (Throwable e) {