gpt4 book ai didi

java - SOAP xml 作为返回 - Android

转载 作者:太空宇宙 更新时间:2023-11-03 12:42:30 24 4
gpt4 key购买 nike

我在处理 web 服务时使用 k2SOAP for 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 网络服务。但是 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.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"utf-8\"?>");"

上一行"httpTransport.call(SOAP_ACTION, soapEnvelope);"

2) String resultString = result.toString();

将上面一行替换为下面一行

String resultString=httpTransport.responseDump;

这将以 xml 格式的字符串返回响应

关于java - SOAP xml 作为返回 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5421897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com