Webservice - Demo : Spring + CXF + JSON(服务器篇)

来源:互联网 发布:c语言测时间间隔 编辑:程序博客网 时间:2024/05/16 09:00

Webservice - Demo : Spring + CXF + JSON(服务器篇)

一、applicationContext-server.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"             xmlns:jaxws="http://cxf.apache.org/jaxws"             xsi:schemaLocation="                   http://www.springframework.org/schema/beans                   http://www.springframework.org/schema/beans/spring-beans.xsd                   http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">            <import resource="classpath:META-INF/cxf/cxf.xml"/>            <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>            <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>            <jaxws:endpoint id="patientWs" implementor="com.xxx.webservice.PatientWsImpl" address="/patientWs" /> </beans>

二、PatientWs

package com.xxx.webservice;import javax.jws.WebMethod;import javax.jws.WebParam;import javax.jws.WebResult;import javax.jws.WebService;@WebServicepublic interface PatientWs {/** * 状态码 state: 0\1\9 * state = 9 : 病人签到成功==> 进入大厅候诊队列 * state = 1 : 病人大厅候诊结束==> 诊区候诊开始 * state = 0 : 病人诊区候诊结束==> 医生就诊开始 * @param patientList * @return */@WebMethod    @WebResult(name = "getPatient")    public String getPatientsByJsonArray(@WebParam(name = "patientList")String patientList);}

三、PatientWsImpl

package com.xxx.webservice;import javax.jws.WebMethod;import javax.jws.WebParam;import javax.jws.WebResult;import javax.jws.WebService;import javax.jws.soap.SOAPBinding;import javax.jws.soap.SOAPBinding.Style;import net.sf.json.JSONObject;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Service;@Service("patientWs")@WebService(targetNamespace = "http://webservice.xxx.com")@SOAPBinding(style = Style.RPC)public class PatientWsImpl implements PatientWs{    private Logger log = LoggerFactory.getLogger(this.getClass());        /** * 状态码 state: 0\1\9 * state = 9 : 病人签到成功==> 进入大厅候诊队列 * state = 1 : 病人大厅候诊结束==> 诊区候诊开始 * state = 0 : 病人诊区候诊结束==> 医生就诊开始 * @param patientList * @return */    @WebMethod    @WebResult(name = "getPatients")public String getPatientsByJsonArray(@WebParam(name = "patientList")String patientList){    int f = 1;    Object[] obj = JsonUtil.getJsonToArray(patientList);    if(!obj.equals("")){     for(int i=0;i<obj.length;i++){               System.out.println(obj[i]);               JSONObject jsonStr = (JSONObject) obj[i];               String checkincode = jsonStr.getString("checkincode");               System.out.println(checkincode);    }    f = 0;} else {f = -1;    }    JSONObject returnData = new JSONObject();    returnData.put("Result", f);return returnData.toString();}    }

四、补充个JsonUtil

package com.xxx.webservice;import net.sf.json.JSONArray;import com.alibaba.fastjson.JSON;public class JsonUtil {private static final String DEFAULT_CHARSET_NAME = "UTF-8";public static<T> String serialize(T object){return JSON.toJSONString(object);}public static Object[] getJsonToArray(String str) {        JSONArray jsonArray = JSONArray.fromObject(str);        return jsonArray.toArray();    }}

五、相关jar包下载

http://download.csdn.net/detail/u010823625/9674062
0 0
原创粉丝点击