在Android中显示Soap Web服务响应?

时间:2012-05-25 09:50:03

标签: android web-services response android-ksoap2

您希望使用kso​​ap2在Android中显示soap web服务。我使用以下代码。当我在Soap Ui Pro中进行测试时,它显示输出xml很好。

httpTransport.call(SOAP_ACTION, envelope);
Object result = (Object) envelope.getResponse();
System.out.println("The Result"+result);

但是我在Eclipse Logcat中得到了Exception,我怎样才能在Android中克服这个问题

例外:

05-25 15:13:15.105: WARN/System.err(1160): org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://www.w3.org/2001/12/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@40546438) 
05-25 15:13:15.115: WARN/System.err(1160):     at org.kxml2.io.KXmlParser.exception(KXmlParser.java:273)

请帮帮我。

2 个答案:

答案 0 :(得分:0)

你实际上是在回复 InputStream ,你只需将它转换为String然后你就可以显示它。

答案 1 :(得分:0)

使用以下代码: -

try {
    httpTransport.call(SOAP_ACTION, envelope);
    sb.append(httpTransport.requestDump);
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (XmlPullParserException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}


InputSource inStream = new InputSource();
inStream.setCharacterStream(new StringReader(sb.toString()));

如果你有任何疑问,请告诉我。