java - 将使用 SOAP 从 (C# .net) Web 服务接收的对象转换为 Android 中的字符串数组

标签 java android web-services object ksoap2

我正在尝试使用 kSOAP2 将字符串数组从 Web 服务发送到 Android 应用程序。 使用 kSOAP2,我在 android 端收到对象格式的响应。现在我想将此对象转换为字符串数组格式,以便我可以将此数组直接传递给 GridView。

我的Web服务方法如下:

[WebMethod]
public string[] getit(string status)
{
   string[] result;
   if (status == "blue")
      result = new string[] { "One", "Two", "Three", "Four" };
   else
      result = new string[] { "five", "six", "Seven", "Eight" };
   return result;
}

我的Android代码如下:

public void call(String status)
{
   try {    
       SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

       request.addProperty("status",status.toString());

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

       HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
       androidHttpTransport.call(SOAP_ACTION, envelope);

       Object result = (Object)envelope.getResponse();

       array1=(String []) result;   //This statement does not work
   } 
}

在android代码中array1是全局声明的字符串数组。字符串数组1[]; 我想将 Object 结果转换为 array1 字符串数组。 提前致谢。

最佳答案

现在我想不出一个好的例子。您应该检查返回的对象。但我猜它是一个内部有属性的 SoapObject

SoapObject result = (SoapObject)envelope.getResponse();

那么我想如果你打电话

String s = (String)result.getProperty(0);

您将获得返回数组的第一个元素。

当然,您应该进行必要的错误处理。

关于java - 将使用 SOAP 从 (C# .net) Web 服务接收的对象转换为 Android 中的字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11628613/

相关文章:

java - 如何修复错误 : 'Could not load library ' toscomm': no toscomm in java. library.path'?

java - 这些通知如何称呼?

java - Job提交前如何分发jar到hadoop

java - 如何在 MSWord 中使用 Intent

java - 创建 SOAP 网络服务客户端的方法

java - 无法在 Mac 上的 Eclipse 中创建新的 Android 项目

java - CheckBoxPreference - onSharedPreferenceChanged 方法未被调用

android - 无法从 fragment 中隐藏导航栏

Java 和 REST Web 服务 - GET 方法返回 JSONObject ["....."] 不是 JSONObject

iOS 对 Web 服务器的身份验证