Reputation: 2051
How should I call this Soap Webservice from an android
<AddCar xmlns="http://abcd.com/">
<clsAddCarRequest>
<clsCredentials>
<EmailAddress>string</EmailAddress>
<Password>string</Password>
<TokenID>string</TokenID>
</clsCredentials>
<clsCar>
<CarID>int</CarID>
<UserID>int</UserID>
<RegisteredOwner>string</RegisteredOwner>
<Make>string</Make>
<Model>string</Model>
<Color>string</Color>
<BodyType>string</BodyType>
<PlateType>string</PlateType>
<PlateNumber>string</PlateNumber>
<State>string</State>
<VINNumber>string</VINNumber>
<YearOfRegistration>int</YearOfRegistration>
<ExpiryDate>string</ExpiryDate>
<IsAutoFightOn>boolean</IsAutoFightOn>
<IsDeleted>boolean</IsDeleted>
<DateAddedTimeStamp>string</DateAddedTimeStamp>
<LastUpdatedTimeStamp>string</LastUpdatedTimeStamp>
</clsCar>
</clsAddCarRequest>
</AddCar>
The class clsAddCarRequest as 2 properties clsCredentials x, clsCar c;
clsCredentials x;
x.getXML returns the below
<clsCredentials>
<EmailAddress>string</EmailAddress>
<Password>string</Password>
<TokenID>string</TokenID>
</clsCredentials>
clsCar c;
c.getXML returns the below
<clsCar>
<CarID>int</CarID>
<UserID>int</UserID>
<RegisteredOwner>string</RegisteredOwner>
<Make>string</Make>
<Model>string</Model>
<Color>string</Color>
<BodyType>string</BodyType>
<PlateType>string</PlateType>
<PlateNumber>string</PlateNumber>
<State>string</State>
<VINNumber>string</VINNumber>
<YearOfRegistration>int</YearOfRegistration>
<ExpiryDate>string</ExpiryDate>
<IsAutoFightOn>boolean</IsAutoFightOn>
<IsDeleted>boolean</IsDeleted>
<DateAddedTimeStamp>string</DateAddedTimeStamp>
<LastUpdatedTimeStamp>string</LastUpdatedTimeStamp>
</clsCar>
clsAddCarRequest myReq;
myReq.getXML returns the below
<clsAddCarRequest>
<clsCredentials>
<EmailAddress>string</EmailAddress>
<Password>string</Password>
<TokenID>string</TokenID>
</clsCredentials>
<clsCar>
<CarID>int</CarID>
<UserID>int</UserID>
<RegisteredOwner>string</RegisteredOwner>
<Make>string</Make>
<Model>string</Model>
<Color>string</Color>
<BodyType>string</BodyType>
<PlateType>string</PlateType>
<PlateNumber>string</PlateNumber>
<State>string</State>
<VINNumber>string</VINNumber>
<YearOfRegistration>int</YearOfRegistration>
<ExpiryDate>string</ExpiryDate>
<IsAutoFightOn>boolean</IsAutoFightOn>
<IsDeleted>boolean</IsDeleted>
<DateAddedTimeStamp>string</DateAddedTimeStamp>
<LastUpdatedTimeStamp>string</LastUpdatedTimeStamp>
</clsCar>
</clsAddCarRequest>
How do I call the SoapObject request = new SoapObject
the webservices returns
<AddCarResponse xmlns="http://abcd.com/">
<AddCarResult>string</AddCarResult>
</AddCarResponse>
Upvotes: 0
Views: 873
Reputation: 2051
This code worked for me
String SOAP_ACTION = "http://rytryryry.com/AddCar";
String Email = "[email protected]";
String passWRD ="hai";
String token = "4535677756";
String server = "http://ytrytrytryty.org/Services.asmx";
String date=(String) android.text.format.DateFormat.format("MM/dd/yy h:mm:ss aa", new java.util.Date());
//date format "MM/dd/yy h:mmaa" -> "04/06/70 3:23am"
try {
//System.out.println("in try blok");
URL u = new URL(server);
URLConnection uc = u.openConnection();
HttpURLConnection connection = (HttpURLConnection) uc;
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestProperty("SOAPAction", SOAP_ACTION);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-type", "text/xml; charset=utf-8");
String xmldata = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"> "+
"<soap:Body>"+
"<AddCar xmlns=\"http://abcd.com/\">"+
"<clsAddCarRequest>"+
"<clsCredentials>"+
"<EmailAddress>"+Email+"</EmailAddress>"+
"<Password>"+passWRD+"</Password>"+
"<TokenID>"+token+"</TokenID>"+
"</clsCredentials>"+
"<clsCar>"+
"<CarID>"+01+"</CarID>"+
"<UserID>"+34+"</UserID>"+
"<RegisteredOwner>"+"kishore"+"</RegisteredOwner>"+
"<State>"+"string"+"</State>"+
"<VINNumber>"+"string"+"</VINNumber>"+
"<YearOfRegistration>"+"2007"+"</YearOfRegistration>"+
"<ExpiryDate>"+"2/5/2016"+"</ExpiryDate>"+
"<IsAutoFightOn>"+true+"</IsAutoFightOn>"+
"<IsDeleted>"+false+"</IsDeleted>"+
"<DateAddedTimeStamp>"+date+"</DateAddedTimeStamp>"+
"<LastUpdatedTimeStamp>"+date+"</LastUpdatedTimeStamp>"+
"</clsCar>"+
"</clsAddCarRequest>"+
"</AddCar>"+
"</soap:Body>"+
"</soap:Envelope>";
System.out.println(xmldata);
OutputStream out = connection.getOutputStream();
Writer wout = new OutputStreamWriter(out);
wout.write(xmldata);
wout.flush();
wout.close();
BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
//InputStream in = connection.getInputStream();
String result;
//int c;
while ((result=rd.readLine()) != null) {
System.out.println(result);
Upvotes: 2