2014年2月17日 星期一
Android App 調用 WebService
上次建好了 webservice,並藉由 http 協議做測試通過。這次利用 SOAP 協議來試試。
1.先下載 KSOAP 包:ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar
請自行下載。
2.將下載好的 .jar 放入專案的 lib 下,專案右鍵 > build path > configure build path > Libraries > Add JARs... > 選擇剛剛放入的 .jar ,把它加入專案。
3.調用 webservice:
3.1
//wsdl 裡的 targetNamespace
private static final String NameSpace="urn:soap";
//wsdl 裡的 function 名字
private static final String FunctionName="test1";
//wsdl 的URL
private static final String serviceURL="http://xxx/xxx/xxx.php?wsdl";
3.2
//設置SoapObject
SoapObject request=new SoapObject( NameSpace,FunctionName );
//設置參數及參數值(前為參數名,後為參數值)
request.addProperty("XXX","YYY");
//設置 SOAP 序列化封包請求信息 (參數為SOAP協議版本號)
SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut=request;
envelope.dotNet=true;
//建置WSDL的URL
HttpTransportSE transport = new HttpTransportSE(serviceURL);
try
{
transport .call(NameSpace+FunctionName,envelope);
}catch(IOException e){
e.printStackTrace();
}catch(XmlPullParserException e){
e.printStackTrace();
}
參考網址:
http://021013.blogspot.tw/2013/03/android-appsweb-service-client.html
http://www.cnblogs.com/zhangdongzi/archive/2011/04/19/2020688.html