如何在Android中处理Soap结果.


How to handle Soap result in Android..?

My Soap结果的形式如下。因为结果是一个Soap对象。

11-27 17:14:48.310: I/TAG(3771): message=========================getProdResponse{return=[unnamed_struct_use_soapval{id=57; }, unnamed_struct_use_soapval{id=77; }]; }
11-27 17:14:48.310: I/TAG(3771): message=========================[unnamed_struct_use_soapval{id=57; }, unnamed_struct_use_soapval{id=77; }]
11-27 17:14:48.310: I/TAG(3771): nameResult=================[unnamed_struct_use_soapval{id=57; }, unnamed_struct_use_soapval{id=77; }]

我在上面的日志中得到了两个ID值。id=77和id=57。如何只获取id。

如果您使用SVC Web服务,则此代码将帮助您。。。公共类测试扩展活动{

private final String URL = "http://10.0.2.2:8116/Service1.svc?wsdl";
private final String NAMESPACE = "http://tempuri.org/";
 private final String SOAP_ACTION = "http://tempuri.org/IService1/GetData";
 private final String METHOD_NAME = "GetData";



@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    if (android.os.Build.VERSION.SDK_INT > 9) 
    {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
    }
    setContentView(R.layout.activity_test);




            SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.dotNet = true;
            envelope.setOutputSoapObject(request);
            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
            try {
                androidHttpTransport.call(SOAP_ACTION, envelope);
                SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
                Log.i("myApp_Responce...", response.toString());

                TextView tv= (TextView)findViewById(R.id.hello);
                tv.setText(response.toString());

                  } catch (Exception e)
                  {
                      e.printStackTrace();
                   }
        }                                                                                Always Add your ksoap jar manually in project workspace.