Android 使用ksoap進行webservice請求

Gudio丶發表於2017-03-06

由於公司專案需要在移動端請求webservice,因此在專案中引入ksoap框架,用這個進行webservice請求。
在使用之前你需要下載一個jar包,可以去這裡下載最新的jar包:
http://kobjects.org/ksoap2/index.html
我用的是
ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar

下面來介紹使用方法:

//例項化Soap物件  
// serviceNameSpace 命令空間
// methodName 呼叫方法
SoapObject soapObject = new SoapObject(serviceNameSpace, methodName);
//新增引數
soapObject.addProperty("引數名稱", "引數");
//設定soap協議的版本號 需要服務端與移動端一致
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(110);
envelope.bodyOut = soapObject;
//註冊
(new MarshalBase64()).register(envelope);
//指明請求的URL 並設定超時限制
HttpTransportSE transportSE = new HttpTransportSE(Constants.COMMIT_XML_HTTP, 20000);
//是否除錯
transportSE.debug = true;
try {
    //請求呼叫webservice
    transportSE.call("", envelope);
    //接受返回報文
    if (envelope.getResponse() != null) {
        logE("返回報文", envelope.bodyIn.toString());
        return envelope.bodyIn.toString();
    }
} catch (IOException e) {
    e.printStackTrace();
} catch (XmlPullParserException e) {
    e.printStackTrace();
}

相關文章