我正在编写一个客户端,使用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
:namespace
的属性xsd:import
的值
element,是xsd:schema
的子元素,是一个孩子
types
SoapAction
:方法名称MethodName
:API中方法的名称URL
:WSDL的实际网址(参考:This answer and the link mentioned in it.)
我知道我的代码有问题,但有人可以说可能导致它的原因以及我是否正确设置了上述最终变量的值?
我尝试将dotnet
标记设置为true
和false
。我试图在SoapObject
中获取响应,因为它是一个XML文档,我在一篇文章中读到,如果结果是XML格式,请使用SoapObject
。
我也尝试调试它,并且所有变量显然都在这一行之前具有正确的值(如调试透视图所示):
result= (SoapObject) envelope.getResponse();
在这条线上,抛出了SoapFault;您可以比较以下代码和屏幕截图。有人可以建议为什么会发生这种情况以及还有什么可以解决它?
try{
result = (SoapObject) soapEnvelope.getResponse();
} catch (Throwable e) {