why ksoap2 give the empty response in the root not data

27 views
Skip to first unread message

Sameer Mandhare

unread,
Oct 12, 2017, 6:42:17 AM10/12/17
to ksoap2-android
package com.example.sameer.soaptest3;

import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.kxml2.kdom.Node;
import org.xmlpull.v1.XmlPullParserException;

import java.io.IOException;

public class MainActivity extends AppCompatActivity {


SoapObject resultsRequestSOAP = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
TextView textView = (TextView) findViewById(R.id.tv);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AsynW asynW = new AsynW();
asynW.execute();

}

class AsynW extends AsyncTask<Void,Void,Void>{

@Override
protected Void doInBackground(Void... voids) {
getCurrentLocations();
return null;
}
}


private void getCurrentLocations() {
String NAMESPACE = "http://tempuri.org/";//"https://api.authorize.net/soap/v1/";//
String URL ="http://www.motortrackers.com//motortrackersservice.asmx";//"https://apitest.authorize.net/soap/v1/Service.asmx?wsdl"; //
String SOAP_ACTION = "http://tempuri.org/GetVehicleHistory";//"https://api.authorize.net/soap/v1/AuthenticateTest";//
String METHOD_NAME = "GetVehicleHistory";

org.kxml2.kdom.Element header[] = new org.kxml2.kdom.Element[1];
header[0] = new org.kxml2.kdom.Element().createElement(NAMESPACE, "AuthHeader");
org.kxml2.kdom.Element Username = new org.kxml2.kdom.Element().createElement(NAMESPACE, "Username");
Username.addChild(Node.TEXT, "test");
header[0].addChild(Node.ELEMENT, Username);

org.kxml2.kdom.Element Password = new org.kxml2.kdom.Element().createElement(NAMESPACE, "Password");
Password.addChild(Node.TEXT, "test");
header[0].addChild(Node.ELEMENT, Password);

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

PropertyInfo pVehicleId = new PropertyInfo();
pVehicleId.setName("VehicleId");
pVehicleId.setValue(2);
pVehicleId.setType("VehicleId".getClass());
request.addProperty(pVehicleId);

//request.addProperty("VehicleId",2);

PropertyInfo pStartDate = new PropertyInfo();
pStartDate.setName("StartDate");
pStartDate.setValue("09/10/2017 05:20");
pStartDate.setType("StartDate".getClass());
request.addProperty(pStartDate);

// request.addProperty("StartDate","10/5/2017 05:20");

PropertyInfo pEndDate = new PropertyInfo();
pEndDate.setName("EndDate");
pEndDate.setValue("10/10/2017 05:20");
pEndDate.setType("EndDate".getClass());
request.addProperty(pEndDate);
//request.addProperty("EndDate","10/6/2017 05:20");

PropertyInfo pInterval = new PropertyInfo();
pInterval.setName("Interval");
pInterval.setValue(1);
pInterval.setType("Interval".getClass());
request.addProperty(pInterval);
//request.addProperty("Interval",1);

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

envelope.headerOut = header;
envelope.implicitTypes = false;

envelope.dotNet = true;
envelope.setOutputSoapObject(request);
System.out.println("Request: "+request);

HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

try {
androidHttpTransport.call(SOAP_ACTION, envelope);
resultsRequestSOAP = (SoapObject) envelope.bodyIn;
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}


System.out.println("resultsRequestSOAP: " + resultsRequestSOAP);

SoapObject root = (SoapObject) resultsRequestSOAP.getProperty(0);
System.out.println("root: " + root);

for (int i = 0; i < root.getPropertyCount(); i++) {
Object property = root.getProperty(i);
if (property instanceof SoapObject) {
SoapObject category_list = (SoapObject) property;
SetCurrentLocationInfo setCurrentLocationInfo = new SetCurrentLocationInfo();
setCurrentLocationInfo.IMEI = category_list.getProperty("IMEI").toString();
setCurrentLocationInfo.VehicleId = category_list.getProperty("VehicleId").toString();
setCurrentLocationInfo.DateTime = category_list.getProperty("DateTime").toString();
setCurrentLocationInfo.GpsSateliteCount = category_list.getProperty("GpsSateliteCount").toString();
setCurrentLocationInfo.Latitude = category_list.getProperty("Latitude").toString();
setCurrentLocationInfo.Longitude = category_list.getProperty("Longitude").toString();
setCurrentLocationInfo.Speed = category_list.getProperty("Speed").toString();
setCurrentLocationInfo.IgnitionStatus = category_list.getProperty("IgnitionStatus").toString();
setCurrentLocationInfo.VehicleNo = category_list.getProperty("VehicleNo").toString();
setCurrentLocationInfo.PacketReceivedAt = category_list.getProperty("PacketReceivedAt").toString();



}

}

}

display :- root: anyType{}



webservice :-

<soap:Body>
    <GetVehicleHistoryResponse xmlns="http://tempuri.org/">
      <GetVehicleHistoryResult>
        <LocationPacket>
          <IMEI>string</IMEI>
          <VehicleId>double</VehicleId>
          <DateTime>dateTime</DateTime>
          <GpsSateliteCount>string</GpsSateliteCount>
          <Latitude>string</Latitude>
          <Longitude>string</Longitude>
          <Speed>string</Speed>
          <IgnitionStatus>string</IgnitionStatus>
          <GasOilElectricityConnected>string</GasOilElectricityConnected>
          <GpsTrackingStatus>string</GpsTrackingStatus>
          <Charging>string</Charging>
          <VoltageLevel>string</VoltageLevel>
          <GSMSignalStrength>string</GSMSignalStrength>
          <AlarmType>string</AlarmType>
          <VehicleNo>string</VehicleNo>
          <Address>string</Address>
          <PacketReceivedAt>string</PacketReceivedAt>
        </LocationPacket>
        <LocationPacket>
          <IMEI>string</IMEI>
          <VehicleId>double</VehicleId>
          <DateTime>dateTime</DateTime>
          <GpsSateliteCount>string</GpsSateliteCount>
          <Latitude>string</Latitude>
          <Longitude>string</Longitude>
          <Speed>string</Speed>
          <IgnitionStatus>string</IgnitionStatus>
          <GasOilElectricityConnected>string</GasOilElectricityConnected>
          <GpsTrackingStatus>string</GpsTrackingStatus>
          <Charging>string</Charging>
          <VoltageLevel>string</VoltageLevel>
          <GSMSignalStrength>string</GSMSignalStrength>
          <AlarmType>string</AlarmType>
          <VehicleNo>string</VehicleNo>
          <Address>string</Address>
          <PacketReceivedAt>string</PacketReceivedAt>
        </LocationPacket>
      </GetVehicleHistoryResult>
    </GetVehicleHistoryResponse>
  </soap:Body>




}


Reply all
Reply to author
Forward
0 new messages