浏览代码

去除无用WebService封装

Airhead 8 年之前
父节点
当前提交
d8d55eba52

+ 0 - 209
Hos-Framework/src/main/java/com/yihu/ehr/framework/util/wsgateway/GatewayUtil.java

@ -1,209 +0,0 @@
package com.yihu.ehr.framework.util.wsgateway;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
import org.json.JSONObject;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import java.net.URL;
/**
 * Created by szx on 2015/12/14.
 */
public class GatewayUtil {
    public GatewayUtil() {
    }
    /**
     * 使用Axis Call Client动态调用WebService地址.
     *
     * @param webServiceAddr WebService地址
     * @param webServiceMethod WebService方法
     * @param inputValues 输入参数值
     * @return 成功返回<code>Object</code>, 失败或异常返回null.
     */
    public static String getObjectByAxisCallClient(String webServiceAddr, String webServiceMethod,
                                                   Object[] inputValues) {
        Call call = null;
        try {
            Service service = new Service();
            call = (Call) service.createCall();
            // 设置wsdl
            call.setTargetEndpointAddress(new URL(webServiceAddr));
//            List pramerList = new ArrayList();
//            WebServicePramer myWebServicePramer = new WebServicePramer();
//            myWebServicePramer = new WebServicePramer();
//            myWebServicePramer.setPramerName("authInfo");
//            myWebServicePramer.setPramerType(XMLType.XSD_STRING);
//            myWebServicePramer.setPramerValue(dataXml);
//            pramerList.add(myWebServicePramer);
            // 设置访问的方法名
            call.setOperationName("service");
            call.addParameter("authInfo", //参数名
                    XMLType.XSD_STRING,//参数类型:String
                    ParameterMode.IN);//参数模式:'IN' or 'OUT'
            call.addParameter("sequenceNo", //参数名
                    XMLType.XSD_STRING,//参数类型:String
                    ParameterMode.IN);//参数模式:'IN' or 'OUT'
            call.addParameter("api", //参数名
                    XMLType.XSD_STRING,//参数类型:String
                    ParameterMode.IN);//参数模式:'IN' or 'OUT'
            call.addParameter("param", //参数名
                    XMLType.XSD_STRING,//参数类型:String
                    ParameterMode.IN);//参数模式:'IN' or 'OUT'
            call.addParameter("paramType", //参数名
                    XMLType.XSD_INT,//参数类型:String
                    ParameterMode.IN);//参数模式:'IN' or 'OUT'
            call.addParameter("outType", //参数名
                    XMLType.XSD_INT,//参数类型:String
                    ParameterMode.IN);//参数模式:'IN' or 'OUT'
            call.addParameter("v", //参数名
                    XMLType.XSD_STRING,//参数类型:String
                    ParameterMode.IN);//参数模式:'IN' or 'OUT'
            call.addParameter("out", XMLType.XSD_STRING,//参数类型:String
                    ParameterMode.OUT);
            call.setReturnType((QName) XMLType.XSD_STRING);
            String result=(String)call.invoke(inputValues);
            return result;
            // 定义参数对象
            //call.setUseSOAPAction(true);
            //call.setSOAPActionURI(soapActionURI + webServiceMethod);
//            OperationDesc oper = new OperationDesc();
//            if (!ArrayUtils.isEmpty(inputNames)) {
//                for (int i = 0; i < inputNames.length; i++) {
//                    // String类型
//                    oper.addParameter(new QName(targetNamespace, inputNames[i]), new QName(targetNamespace, inputXmlTypes[i]),
//                            inputJavaTypes[i], ParameterDesc.IN, false, false);
//                }
//            }
//            oper.setReturnType(XMLType.XSD_ANYTYPE);
//
//            call.setTimeout(30000);
//            resObj = call.invoke(inputValues);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }
//
//    private void test(){
//        try {
//            final String SERVER_URL = "http://172.19.103.55:8080/WSGW/services/ServiceGateWay";
//            HttpPost request = new HttpPost(SERVER_URL);
//            List<BasicNameValuePair> params = new ArrayList();
//
//            String reqXml =
//                    "<Req>" +
//                            "<TransactionCode>1</TransactionCode>" +
//                            "<Service>" +
//                            "<SessionID>0a4ad1eaf2584825b21bb783778f374e</SessionID>" +
//                            "<UserID>EA1DF016ECCF4BBF8DBB35E5A3D3F436</UserID>" +
//                            "</Service></Req>";
//            params.add(new BasicNameValuePair("param", reqXml));
//
//            JSONObject authInfo = new JSONObject();
//            authInfo.put("ClientId","aaa");
//            authInfo.put("ClientVersion","aaa");
//            authInfo.put("Sign","aaa");
//            authInfo.put("SessionKey","aaa");
//
//            params.add(new BasicNameValuePair("authInfo", "aa"));
//            params.add(new BasicNameValuePair("sequenceNo", "aaaaaaa"));
//            params.add(new BasicNameValuePair("api", "session.SessionApi.getSession"));
//            params.add(new BasicNameValuePair("paramType", "0"));
//            params.add(new BasicNameValuePair("outType", "0"));
//
//            //params.add(new BasicNameValuePair("mobileCode", "136370628"));  //(注意这里的号码必须大于6位)
//            //params.add(new BasicNameValuePair("userId", ""));
//            request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
//            HttpResponse httpResponse = new DefaultHttpClient().execute(request);
//            if (httpResponse.getStatusLine().getStatusCode() != 404) {
//                String result = EntityUtils.toString(httpResponse.getEntity());
//                System.out.println(result);
//            }
//        }catch (Exception e){
//
//        }
//    }
    /**
     * 使用Axis Call Client动态调用WebService地址.
     *
     * @param webServiceAddr   WebService地址
     * @param webserviceNamespace WebService的namespace
     * @param webServiceMethod WebService方法
     * @param inputValues      输入参数值
     * @param inputValuetype      输入参数值类型
     * @return 成功返回<code>Object</code>, 失败或异常返回null.
     */
    public static String getObjectByAxis2CallClient(String webServiceAddr, String webserviceNamespace, String webServiceMethod,
                                                    Object[] inputValues, Class[] inputValuetype) {
        try {
            //新建RPC服务客户端
            RPCServiceClient serviceClient = new RPCServiceClient();
            Options options = serviceClient.getOptions();
            //设置URL
            EndpointReference targetEPR = new EndpointReference(webServiceAddr);
            options.setTo(targetEPR);
            //设置参数的类型
            //设置namespace和方法名
            QName opAddEntry = new QName(webserviceNamespace, webServiceMethod);
            //数组的第一个值为返回值
            return (String) (serviceClient.invokeBlocking(opAddEntry, inputValues, inputValuetype))[0];
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }
    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        String SERVER_URL = "http://172.19.103.55:8080/WSGW/services/ServiceGateWay";
        String namespace = "http://com.yihu.wsgw/ServiceGateWay";
        String methos = "service";
        Class[] classes = new Class[]{String.class, String.class, String.class, String.class, Integer.class, Integer.class, Integer.class};
        Object[] v = new Object[7];
        JSONObject authInfo = new JSONObject();
        authInfo.put("ClientId", "aaa");
        authInfo.put("ClientVersion", "1.0");
        authInfo.put("Sign", "");
        authInfo.put("SessionKey", "");
        v[0] = authInfo.toString();//authInfo
        v[1] = "201601080838000000";//sequenceNo
        v[2] = "resource.resource.getAuthorizedResource";//api
        v[3] = "Param={sys_id:asdasd,start:1,pageSize:10}";
        v[4] = 0;//paramType
        v[5] = 0;//outType
        v[6] = 1;
        System.out.println(getObjectByAxis2CallClient(SERVER_URL, namespace, methos, v, classes));
    }
}

+ 0 - 50
Hos-Framework/src/main/java/com/yihu/ehr/framework/util/wsgateway/WebServicePramer.java

@ -1,50 +0,0 @@
package com.yihu.ehr.framework.util.wsgateway;
import javax.xml.namespace.QName;
public class WebServicePramer {
	private String pramerName;
	private QName pramerType;
	// private ParameterMode parameterMode;
	private Object pramerValue;
	/**
	 * @return the pramerName
	 */
	public String getPramerName() {
		return pramerName;
	}
	/**
	 * @param pramerName
	 *            the pramerName to set
	 */
	public void setPramerName(String pramerName) {
		this.pramerName = pramerName;
	}
	/**
	 * @return the pramerType
	 */
	public QName getPramerType() {
		return pramerType;
	}
	/**
	 * @param pramerType
	 *            the pramerType to set
	 */
	public void setPramerType(QName pramerType) {
		this.pramerType = pramerType;
	}
	public Object getPramerValue() {
		return pramerValue;
	}
	public void setPramerValue(Object pramerValue) {
		this.pramerValue = pramerValue;
	}
}