httpTransport.call(SOAP_ACTION,envelope);
SoapPrimitive response =(SoapPrimitive)envelope.getResponse();
我还使用了对象 result = envelope.getResponse();
我正在使用以上代码处理Android中的响应,但我得到以下异常:
02-25 17:17:35.185: WARN/System.err(9786): org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG [{http://schemas.xmlsoap.org/wsdl/}wsdl:definitions targetNamespace='urn:sap-com:document:sap:soap:functions:mc-style'>@1:686 in java.io.InputStreamReader@4052d3f0)][1]
如何处理android中的异常
答案 0 :(得分:0)
您是如何执行SOAP调用的?你在用KSOAP2吗?在那种情况下,
设置transport.debug = true
如果发生异常,请记录transport.responseDump
。您很可能收到错误消息,而不是正确的SOAP / xml响应。
你的文字问题是“如何处理异常”。你可以通过在适当的尝试中包装transport.call来实现这一点,例如
try
{
transport.call(SOAP_ACTION, envelope);
// ... envelope.getResponse() ...
}
catch(XMLPullParserException e)
{
Log.e(TAG, e.getDetail(), e);
Log.d(TAG, transport.requestDump);
Log.d(TAG, transport.responseDump);
}