Android Soap請求webService

使用soap請求webservice,你首先得知道webservice的命名空間(Namespace)、方法名(Methodname)和請求地址(URL)

代碼很簡單,判斷一個QQ號是否在線

返回數據:String,Y = 在線;N = 離線;E = QQ號碼錯誤;A = 商業用戶驗證失敗;V = 免費用戶超過數量
// URL
final String SOAPURL="http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx";
// Namespace
final String SOAPSPACE = "http://WebXml.com.cn/";
// Method
final String USERFORMOB = "qqCheckOnline";

// SoapObject 是已經被序列化後的對象,如果這裏用 jsonObject 容易在htse.call(SOAP_ACTION, ssel); 拋出異常
SoapObject soapObject = new SoapObject(SOAPSPACE, USERFORMOB);
           soapObject.addProperty("qqCode", "727417703");
String strObj = null;
    try {
final String SOAP_ACTION = soapObject.getNamespace() + soapObject.getName();
// 常量SoapEnvelope.VER10:對應於SOAP 1.0規範 
// 常量SoapEnvelope.VER11:對應於SOAP 1.1規範 
// 常量SoapEnvelope.VER12:對應於SOAP 1.2規範 
SoapSerializationEnvelope ssel = new SoapSerializationEnvelope(SoapEnvelope.VER10);
                          ssel.bodyOut = soapObject;
                          ssel.dotNet = true;
                          ssel.setOutputSoapObject(soapObject);
HttpTransportSE htse = new HttpTransportSE(SOAPURL + "?wsdl");
// 設置可調試狀態,用於調試程序
htse.debug = true;
htse.call(SOAP_ACTION, ssel);
String strObj = ((Object) ssel.getResponse()).toString();
Log.d("jokey", strObj);
    } catch (Exception e) {
      e.printStackTrace();
    }

輸出結果:
String,Y = 在線;N = 離線;E = QQ號碼錯誤;A = 商業用戶驗證失敗;V = 免費用戶超過數量

測試webservice地址:http://www.webxml.com.cn/

ksoap2 Jar包下載地址:http://download.csdn.net/detail/jokey_wz/9611346
Demo下載地址:http://download.csdn.net/detail/jokey_wz/9611372

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章