我如何转换的InputStream的数据字符串在Android的SOAP Web服务 [英] How can I convert InputStream data to String in Android SOAP Webservices
本文介绍了我如何转换的InputStream的数据字符串在Android的SOAP Web服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我从Android的消耗SOAP Web服务我想结果显示在输出字符串我怎么可以转换输入流刺?
包com.venkattt.pack;
进口java.io.BufferedReader中;
进口的java.io.InputStream;
进口java.io.InputStreamReader中;
进口java.net.SocketException异常;
进口org.ksoap2.SoapEnvelope;
进口org.ksoap2.serialization.SoapObject;
进口org.ksoap2.serialization.SoapPrimitive;
进口org.ksoap2.serialization.SoapSerializationEnvelope;
进口org.ksoap2.transport.AndroidHttpTransport;
进口org.ksoap2.transport.HttpTransportSE;
进口org.xmlpull.v1.XmlPullParser;
进口org.xmlpull.v1.XmlPullParserFactory;
进口android.app.Activity;
进口android.os.Bundle;
公共类SoapWebservicesExampleActivity延伸活动{
/ **第一次创建活动时调用。 * /
最后弦乐NAMESPACE =瓮:SAP-COM:文档:SAP:肥皂:功能:MC-风格;
最终的字符串URL = "http://**********:8000/sap/bc/srt/wsdl/srvc_14DAE9C8D79F1EE196F1FC6C6518A345/wsdl11/allinone/ws_policy/document?sap-client=800&sap-user=************&sap-password=*********";
最后弦乐METHOD_NAME =Z_GET_CUST_GEN;
最后弦乐SOAP_ACTION =瓮:SAP-COM:文档:SAP:肥皂:功能:MC式/ Z_GET_CUST_GEN;
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.main);
SoapObject请求=新SoapObject(命名空间METHOD_NAME); // 建立
request.addProperty(输入,1460);
request.addProperty(语言翻译,D);
SoapSerializationEnvelope包=新SoapSerializationEnvelope(SoapEnvelope.VER12); //把所有必需的数据成肥皂
envelope.dotNet = TRUE;
envelope.setOutputSoapObject(要求);
HttpTransportSE httpTransport =新HttpTransportSE(URL);
httpTransport.debug = TRUE;
尝试 {
httpTransport.call(SOAP_ACTION,包);
SoapObject响应=(SoapObject)envelope.getResponse();
字符串str = response.getProperty(0)的ToString();
的System.out.println(theeeeeeeeeee+ STR);
}
赶上(SocketException前){
ex.printStackTrace();
}赶上(例外五){
e.printStackTrace();
}
}
}
我的最后code请参看一次,让我知道
我在这里可以把这种转换在上述code?
解决方案
字符串响应= convertStreamToString(河道);
方法
私人字符串convertStreamToString(InputStream的是){
的BufferedReader读卡器=新的BufferedReader(新InputStreamReader的(是));
StringBuilder的SB =新的StringBuilder();
串线= NULL;
尝试 {
而((行= reader.readLine())!= NULL){
sb.append(线).append('\ N');
}
}赶上(IOException异常E){
e.printStackTrace();
} 最后 {
尝试 {
is.close();
}赶上(IOException异常E){
e.printStackTrace();
}
}
返回sb.toString();
}
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?
解决方案
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();
}
这篇关于我如何转换的InputStream的数据字符串在Android的SOAP Web服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文