I am trying to call a ASMX service using KSoap from Android application. It accepts two parameters, both string type. When called from .NET application it succeds but when call from Android application webservice gets blank parameter, I dont understand why ..
Here is the code for the same
static String NAMESPACE = "http://softco.org";
static String URL_WS = "http://www.dummy.com/newservice.asmx";
String GET_USER_DETAILS = "User_Verification";
SoapObject request = new SoapObject(NAMESPACE, GET_USER_DETAILS);
HttpTransportSE androidHttpTransport;
// add parameters and values
request.addProperty("MobileNo", String.valueOf("01234567899"));
request.addProperty("Password", String.valueOf("abcdef"));
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.encodingStyle = SoapSerializationEnvelope.XSD;
envelope.setOutputSoapObject(request);
// Web method call
SoapObject result;
try {
androidHttpTransport = new HttpTransportSE(URL_WS);
androidHttpTransport.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
androidHttpTransport.call(NAMESPACE + "/" + GET_USER_DETAILS, envelope);
result = (SoapObject) envelope.getResponse();
// get the response
int propCnt = result.getPropertyCount();
request = null;
envelope = null;
androidHttpTransport = null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
}
I used Fiddler to see the difference bwtween Visual Studio and Eclipse calls and found both generates different xml for the call, dont understand how can I make Ksoap to send correct one
Call by Visual Studio -
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<User_Verification xmlns="http://softco.org/"><MobileNo xmlns="">01234567899</MobileNo><Password xmlns="">abcdef</Password></User_Verification></s:Body></s:Envelope>
Call from Eclipse Android project
<?xml version="1.0" encoding="utf-8"?>
<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/"><v:Header />
<v:Body><User_Verification xmlns="http://softco.org" id="o0" c:root="1"><MobileNo i:type="d:string">01234567899</MobileNo><Password i:type="d:string">abcdef</Password></User_Verification></v:Body></v:Envelope>
Any pointers would be a great help.