一种简便的调用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
/** * 通用接口 */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
相关文章推荐
- 安卓调用webservice的一种方式及需注意的问题
- 安卓调用webservice的一种方式及需注意的问题
- 基于Java的webservice创建与jax-ws方式调用
- Silverlight用WebClient and HttpWebRequest两种方式来调用WebService
- webservice--四种客户端调用方式
- 使用C#创建webservice及三种调用方式 (ASP.NETweb编程常用到的27个函数集)
- java 实现WebService 以及不同的调用方式
- java调用.NET的webservice实例的二种方法soap方式axis模式
- .Net下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#)
- servlet调用spring容器中的bean,的两种方式一种注解一种xml配置
- 使用C#创建webservice及三种调用方式
- Webservice 调用方式整理
- Webservice调用方式:axis,soap详解
- java 实现WebService 以及不同的调用方式
- 利用SOAP方式调用webservice
- webservice 优化性能的方法,以返回Dataset为例,当大数据量时采用先压缩的方式,调用再解压缩
- 使用Xire代理方式调用webservice方法
- java RPC方式调用axis2 webservice
- webservice--四种客户端调用方式
- RPC方式调用WebService