当前位置 : 主页 > 网页制作 > Nodejs >

CXF soup webservice 动态客户端调用工具类

来源:互联网 收集:自由互联 发布时间:2021-06-24
在尝试了多种webservice客户端调用方法之后,还是觉得这种方法靠谱点儿,此方法用到了Apache的CXF框架,工具类源码如下: importjava.lang.reflect.Method;importorg.apache.cxf.jaxws.JaxWsProxyFactoryBean

   在尝试了多种webservice客户端调用方法之后,还是觉得这种方法靠谱点儿,此方法用到了Apache的CXF框架,工具类源码如下:

import java.lang.reflect.Method;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

public class WsReq{
    private String wsUrl;
    private Class<?> interfaceClz;
    
    pulbic WsReq(String wsUrl, Class<?> interfaceClz) {
        this.wsUrl = wsUrl;
        this.interfaceClz = interfaceClz;
    }
    
    public String invoke(String methodName, Object... params) throws Exception {
        Object obj = getWsObject();
        Class<?>[] argsTypes = new Classs[params.length];
        for (int i = 0; i < params.length; i ++) {
            if (params[i] != null) {
                argsTypes[i] = params[i].getClass();
            }
        }
        
        Method method = interfaceClz.getMethod(methodName, argsType);
        String result = (String)method.invoke(obj, params);
        return result;
    }
    
    
    private Object getWsObject() {
        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
        factory.setAddress(wsUrl);
        factory.setServiceClass(interfaceClz);
        Object obj = (Object)factory.create();
        return obj;
    }
}
网友评论