SOAP xml返回 - Android
问题描述:
我在处理webservices时使用k2SOAP for Android。SOAP xml返回 - Android
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("ProjectID", 1);
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelope.dotNet = true;
soapEnvelope.setOutputSoapObject(request);
HttpTransportSE httpTransport = new HttpTransportSE(URL);
try {
httpTransport.call(SOAP_ACTION, soapEnvelope);
SoapObject result = (SoapObject) soapEnvelope.getResponse();
String resultString = result.toString();
}
我知道代码没有问题,因为它可以与w3 web服务一起工作。但是w3c返回一个字符串作为这个Web服务返回XML的答案。我回来的答案是这样的,当我告诉它的日志:
anyType{schema=anyType{element=anyType{complexType=anyType{choice=anyType{element=an yType{complexType=anyType{sequence=anyType{element=anyType{};
element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; }; }; }; }; };
unique=anyType{selector=anyType{}; field=anyType{}; }; }; }; diffgram=anyType{}; }
这基本上是一个很大的噪音,我不知道如何从这个获取信息或者我应该怎么解析它或。我的最终目标是将我得到的信息放到本地数据库中,但由于我不知道如何从字符串中获取信息,我不知道将信息放入数据库中。
所以我想要做的是以某种方式解析信息并将其放入本地数据库中,我已经为其构建类。 如何从SoapObject结果中获取数据? Web服务信息有空有点可能,但我的问题仍然是一样的。
答
两件事情你需要改变
1)添加上述"httpTransport.call(SOAP_ACTION, soapEnvelope);"
2)String resultString = result.toString();
这"httpTransport.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"utf-8\"?>");"
符合下列一个
String resultString=httpTransport.responseDump;
这将返回xml格式的响应字符串
答
试试这个WAy。
try {
httpTransport.call(SOAP_ACTION, soapEnvelope);
SoapObject result = (SoapObject) soapEnvelope.getResponse();
String element = ((SoapObject)result.getPropertySafely("schema")).getPropertySafely("element").toString();
答
提供的答案不适用于我,而是线条波纹管为我工作。试试下面的线,希望这会给你的XML标签数据,
httpTransport.debug=true;
httpTransport.call(SOAP_ACTION, soapEnvelope);
String ss=httpTransport.responseDump;
Log.d("Result --- ", ss);
这将打印已经由Web服务返回完整的XML文件。
您好Joakim,你有没有找到任何方法来解析这种类型的响应...如果是这样,请提供一些帮助...是否有可能使用任何本机解析器的android? – 2011-06-30 12:04:42
还是没有回答,Sry Nandagopal T! – 2011-08-28 09:52:47
嗨,Joakim,Hurray ....我找到了解决方案伙伴! – 2011-09-10 13:55:55