您的位置:首页 > 其它

一种简便的调用webservice的方式

2018-03-08 13:40 387 查看
JAVA部分:package com.dhcc.utils;

/** * 通用接口 */import java.io.IOException;import java.util.Map;
import org.ksoap2.SoapEnvelope;import org.ksoap2.serialization.SoapObject;import org.ksoap2.serialization.SoapSerializationEnvelope;import org.ksoap2.transport.HttpTransportSE;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.xmlpull.v1.XmlPullParserException;/** * 功能描述:解析webservice */public class WsApiUtil { private static final Logger LOG = LoggerFactory.getLogger(WsApiUtil.class); /** * * 接收服务器返回的SoapObject数据 * @param serviceUrl * @param methodName * @param requestCode * @param requestXml * @return * @throws Exception */ public static String loadSoapObject(String nameSpace,String serviceUrl,String methodName ,String Code,String XML){ String retData = null ; // 创建soapObject对象 SoapObject soapObject = new SoapObject(nameSpace, methodName); // 设置参数 soapObject.addProperty("RequestCode", Code); soapObject.addProperty("RequestXML", XML); // 创建SoapSerializationEnvelope对象,并设置WebService版本号 SoapSerializationEnvelope serializationEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); // 设置serializationEnvelope对象的badyOut属性 serializationEnvelope.bodyOut = soapObject; // 创建HttpTransportSE对象,并且确定wsdl网络地址 HttpTransportSE httpTransportSE = new HttpTransportSE(serviceUrl);// try { // httpTransportSE调用Call方法 httpTransportSE.call(nameSpace + "/" + methodName, serializationEnvelope); // 获取返回的结果对象 if (serializationEnvelope.getResponse() != null) { SoapObject result = (SoapObject) serializationEnvelope.bodyIn; Object obj = result.getProperty(methodName+ "Result"); //obj: <Response><ResultCode>0</ResultCode><ResultDesc></ResultDesc><ResultList><Patinfo><name>张三</name><sex>男</sex><age>20</age></Patinfo><Patinfo><name>李四</name><sex>女</sex><age>22</age></Patinfo></ResultList></Response> retData = obj.toString(); } } catch (IOException e) { e.printStackTrace(); } catch (XmlPullParserException e2) { e2.printStackTrace(); }catch (Exception e3) { e3.printStackTrace(); } System.out.println("HIS推送返回结果:"+retData); return retData ; }}
使用jar包:ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: