您希望使用ksoap2在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)
请帮帮我。
答案 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()));
如果你有任何疑问,请告诉我。