Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中解析Soap信封对象中的数据_Android_Soap - Fatal编程技术网

如何在android中解析Soap信封对象中的数据

如何在android中解析Soap信封对象中的数据,android,soap,Android,Soap,我想解析来自给定SoapObject的数据,并获得反馈、Infraname和问题的所有值请告诉我哪里做错了,我无法获取值在代码中尝试这样做,您可以解析KSoap中的数据 getdata(stringsearchvalue)-在do背景中调用此方法 anyType{InfraWiseDetails=anyType{VisitInfraDetails=anyType{Feedback=Status OK; InfraName=Tables and Chairs; Problem=null; Reso

我想解析来自给定SoapObject的数据,并获得反馈、Infraname和问题的所有值请告诉我哪里做错了,我无法获取值

在代码中尝试这样做,您可以解析KSoap中的数据

getdata(stringsearchvalue)
-在do背景中调用此方法

anyType{InfraWiseDetails=anyType{VisitInfraDetails=anyType{Feedback=Status OK; InfraName=Tables and Chairs; Problem=null; ResolutionStatus=false; Status=true; };

VisitInfraDetails=anyType{Feedback=Water Quality very poor; InfraName=Water; Problem=Rust in Water; ResolutionStatus=false; Status=false; }; }; VisitMasterId=1; }
public void getdata(字符串SearchValue)
{
//创建请求
SoapObject请求=新的SoapObject(名称空间2,方法\名称2);
PropertyInfo pi4=新的PropertyInfo();
pi4.设置名称(“城市”);
setValue(SearchValue);//获取要发送到Web服务的字符串
pi4.setType(String.class);
请求。添加属性(pi4);
//创建信封
SoapSerializationEnvelope=新的SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
//设置输出SOAP对象
envelope.setOutputSoapObject(请求);
//创建HTTP调用对象
HttpTransportSE androidHttpTransport=新的HttpTransportSE(URL2);
试一试{
//发票web服务
调用(SOAP_ACTION2,信封);
//得到回应
SoapPrimitive响应=(SoapPrimitive)信封.getResponse();
//将字符串转换为数组列表
ArrayList servicityName_arr=new ArrayList();
if((response.toString())包含(“{”))
{
SoapObject rep=(SoapObject)envelope.bodyIn;
JSONArray jr=新的JSONArray(rep.getpropertyastring(0));
对于(int i=0;i
过了很长一段时间,我正在查看ksoap2代码。请尝试以下操作:

public void getdata(String SearchValue) 
        {
            // Create request
            SoapObject request = new SoapObject(NAMESPACE2, METHOD_NAME2);



            PropertyInfo pi4 = new PropertyInfo();
            pi4.setName("City");
            pi4.setValue(SearchValue);// get the string that is to be sent to the webservice
            pi4.setType(String.class);
            request.addProperty(pi4);

            // Create envelope
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.dotNet = true;
            // Set output SOAP object
            envelope.setOutputSoapObject(request);
            // Create HTTP call object
            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL2);

            try {
                // Invole web service
                androidHttpTransport.call(SOAP_ACTION2, envelope);
                // Get the response
                SoapPrimitive response = (SoapPrimitive) envelope.getResponse();

                //Converting string to Array list
                  ArrayList<String> Servciecityname_arr= new ArrayList<String>();


                if ((response.toString()).contains("{")) 
                {

                    SoapObject rep = (SoapObject) envelope.bodyIn;
                    JSONArray jr = new JSONArray(rep.getPropertyAsString(0));
                    for (int i = 0; i < jr.length(); i++) {
                        JSONObject jb = (JSONObject) jr.get(i);


                           Cityname = jb.getString("CityName123");


                           Servciecityname_arr.add(Cityname);

                    }

                    CITYNAME = new String[Servciecityname_arr.size()];
                    CITYNAME = Servciecityname_arr.toArray(CITYNAME);


                } 
                else
                {
                    Status_Response = response.toString();
                }

            } catch (Exception e) {
                Log.i(TAG2, "Error in catch");
                e.printStackTrace();
            }

        }
SoapObject结果=(SoapObject)信封.getResponse();
SoapObject根=(SoapObject)结果.getProperty(0);
SoapObject s_deals=(SoapObject)root.getProperty(“InfraWiseDetails”);
对于(int i=0;i
试试这个:SoapObject result=(SoapObject)envelope.bodyIn;让我知道。@sanatshukla SoapObject s_deals_1=(SoapObject)s_deals.getProperty(“VisitInfraDetails”);for(int i=0;ipublic void getdata(String SearchValue) { // Create request SoapObject request = new SoapObject(NAMESPACE2, METHOD_NAME2); PropertyInfo pi4 = new PropertyInfo(); pi4.setName("City"); pi4.setValue(SearchValue);// get the string that is to be sent to the webservice pi4.setType(String.class); request.addProperty(pi4); // Create envelope SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet = true; // Set output SOAP object envelope.setOutputSoapObject(request); // Create HTTP call object HttpTransportSE androidHttpTransport = new HttpTransportSE(URL2); try { // Invole web service androidHttpTransport.call(SOAP_ACTION2, envelope); // Get the response SoapPrimitive response = (SoapPrimitive) envelope.getResponse(); //Converting string to Array list ArrayList<String> Servciecityname_arr= new ArrayList<String>(); if ((response.toString()).contains("{")) { SoapObject rep = (SoapObject) envelope.bodyIn; JSONArray jr = new JSONArray(rep.getPropertyAsString(0)); for (int i = 0; i < jr.length(); i++) { JSONObject jb = (JSONObject) jr.get(i); Cityname = jb.getString("CityName123"); Servciecityname_arr.add(Cityname); } CITYNAME = new String[Servciecityname_arr.size()]; CITYNAME = Servciecityname_arr.toArray(CITYNAME); } else { Status_Response = response.toString(); } } catch (Exception e) { Log.i(TAG2, "Error in catch"); e.printStackTrace(); } }
SoapObject result = (SoapObject) envelope.getResponse();
SoapObject root = (SoapObject) result.getProperty(0);
SoapObject s_deals = (SoapObject) root.getProperty("InfraWiseDetails");

for (int i = 0; i < s_deals.getPropertyCount(); i++) {
    SoapObject s_deals_1 = (SoapObject) s_deals.getProperty(i);
    String x = s_deals_1.getProperty("Feedback").toString();
    String y = s_deals_1.getProperty("InfraName").toString();
    String z = s_deals_1.getProperty("Problem").toString();   
}