Ksoap2 jar包下载地址:https://sourceforge.net/projects/ksoap2/
jar包导入工程
因为是网络请求,在Manifest添中加权限:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
第一步:创建HttpTransportSE传输对象,传入webservice服务器地址:
String Target_URI = “http://fy.webxml.com.cn/webservices/EnglishChinese.asmx”;//服务网址
HttpTransportSE httpTransportSE = new HttpTransportSE(Target_URI);
第二步:创建SoapObject对象,创建该对象时需要传入所要调用的WebService的命名空间、WebService方法名。如果有参数要传给WebService服务器,调用SoapObject对象的addProperty(String name,Object value)方法来设置参数,该方法的name参数指定参数名,value参数指定参数值
String namespace = “http://WebXml.com.cn/”;//命名空间
String methodName = “TranslatorString”; //要调用的方法
SoapObject request = new SoapObject(namespace, methodName);//实例化SoapObject
request.addProperty(“wordKey”, en_word);/ 设置需调用WebService接口需要传入的参数wordKey
第三步:创建SoapSerializationEnelope对象并传入SOAP协议的版本号,并设置对象的bodyOut属性
SoapSerializationEnvelope envelope = new
SoapSerializationEnvelope(SoapSerializationEnvelope.VER12);//创建SoapSerializationEnvelope对象同时指定soap版本号
envelope.bodyOut = request;//发送请求,设置bodyout
envelope.dotNet = true;//设置调用doNet开发的WebService
第四步:调用HttpTransportSE对象的call()方法,其中call的第一个参数soapAction,第二个参数为SoapSerializationEvelope对象,调用远程WebService
httpTransportSE.call(null, envelope);
第五步:获取返回的信息并解析
SoapObject object = (SoapObject) envelope.bodyIn;//获取返回的数据