可能是肥皂故障的原因(faultcode:soapenv:Client,faultstring:Bad Request)

Sol*_*ace 5 debugging android soap-client soapfault android-ksoap2

我正在编写一个客户端,使用kso​​ap2在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
Run Code Online (Sandbox Code Playgroud)

这就是我从WSDL中提取最终字符串的值的方法:

  • Namespace:该属性的值namespacexsd:import 元件,这是的子元素xsd:schema,其是的子元素types
  • SoapAction:名称空间附加方法的名称
  • MethodName:API中方法的名称
  • URL:WSDL的实际URL

(参考:这个答案和它中提到的链接.)

我知道我的代码有问题,但是有人可以说可能导致它的原因以及我是否正确设置了所提到的最终变量的值?

我试图通过设置dotnet标志作为truefalse为好.我试图获得响应,SoapObject因为它是一个XML文档,我在一篇文章中读到,如果结果是XML,请使用SoapObject.

我也尝试调试它,并且所有变量显然在此行之前具有正确的值(如调试透视图所示):

result= (SoapObject) envelope.getResponse();
Run Code Online (Sandbox Code Playgroud)

在这条线上,抛出了SoapFault; 您可以比较以下代码和屏幕截图.有人可以建议为什么会发生这种情况以及还有什么可以解决这个问题?

try{
result = (SoapObject) soapEnvelope.getResponse();
} catch (Throwable e) {
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述