gpt4 book ai didi

c# - 获取格式错误的 SOAP 响应

转载 作者:行者123 更新时间:2023-12-01 14:38:38 25 4
gpt4 key购买 nike

我是 Web 服务新手,正在编写一个可以与 Web 服务通信的 Android 应用程序。但是当我尝试在 Android 屏幕上显示结果时,它显示:

MethodNameResponse{MethodNameResult=anyType{};}

Web 服务应该对服务器数据库进行简单查询并发布结果,以下是调用 Web 服务的方法的代码:

public void Convert(String val) {
try {
SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,METHOD_NAME);

PropertyInfo p = new PropertyInfo();
p.setName(PROPERTY_NAME);
p.setValue(val);
p.setType(String.class);
request.addProperty(p);



SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);

HttpTransportSE ahs = new HttpTransportSE(SOAP_ADDRESS);
ahs.call(SOAP_ACTION, envelope);


SoapObject response = (SoapObject) envelope.bodyIn;
TextView.setText(response.toString());



} catch (Exception e) {
Log.e(TAG, e.toString());
}
}

我的猜测是服务有问题,或者我错误地解释了数据。

最佳答案

首先,将envelope.body替换为envelope.get response()

您在 SoapObject 中的响应 - 所以不仅仅是您必须 toString 的东西。假设您知道服务的响应是什么样的,您将需要映射响应中的数据。 (例如,您的响应可能是复杂的 XML 结构,因此 SoapObject 响应将反射(reflect)这一点)。

这是一个使用 SoapObject 并映射响应的非常完整的示例

http://seesharpgears.blogspot.co.uk/2010/10/ksoap-android-web-service-tutorial-with.html

关于c# - 获取格式错误的 SOAP 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16222055/

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