How can I convert InputStream data to String in Android SOAP Webservices
android, inputstream, response, string, web-services
Solution
String response = convertStreamToString(instream);
Method
private String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line).append('\n');
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
Problem
When I am consuming the soap web services from Android I want to display the result in output string how can I convert that Input Stream to Sting? ``` package com.venkattt.pack; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.SocketException; import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapPrimitive; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.AndroidHttpTransport; import org.ksoap2.transport.HttpTransportSE; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserFactory; import android.app.Activity; import android.os.Bundle; public class SoapWebservicesExampleActivity extends Activity { /** Called when the activity is first created. */ final String NAMESPACE = "urn:sap-com:document:sap:soap:functions:mc-style"; final String URL = "http://**********:8000/sap/bc/srt/wsdl/srvc_14DAE9C8D79F1EE196F1FC6C6518A345/wsdl11/allinone/ws_policy/document?sap-client=800&sap-user=************&sap-password=*********"; final String METHOD_NAME = "Z_GET_CUST_GEN"; final String SOAP_ACTION = "urn:sap-com:document:sap:soap:functions:mc-style/Z_GET_CUST_GEN"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); // set up request.addProperty("Input", "1460"); request.addProperty("Langu", "d"); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12); // put all required data into a soap envelope.dotNet = true; envelope.setOutputSoapObject(request); HttpTransportSE httpTransport = new HttpTransportSE(URL); httpTransport.debug = true; try { httpTransport.call(SOAP_ACTION, envelope); SoapObject response = (SoapObject)envelope.getResponse(); String str = response.getProperty(0).toString(); System.out.println("theeeeeeeeeee"+str); } catch(SocketException ex){ ex.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } } ``` my final code please look at once and let me know where can I put that conversion in the above code?