首页 > 代码库 > java客户端调用c#的webservice服务

java客户端调用c#的webservice服务

  此处使用到了CXF框架,可以使用以下坐标从maven仓库中获取相关jar包:

1 <dependency>2   <groupId>org.apache.cxf</groupId>3   <artifactId>apache-cxf</artifactId>4   <version>3.0.3</version>5   <type>pom</type>6 </dependency>

  自定义一个ServerProxyer类,提供调用webservice的方法

package com.component;import com.component.util.WebServicePropertyFileUtil;import org.apache.cxf.endpoint.Client;import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;/** * desc:webservice服务端在本地的代理类 */public class ServerProxyer {    private static String wsdlUrl ;    private static Client client;    static{        //获取wsdl地址        WebServicePropertyFileUtil.init_Custom("webservice");        wsdlUrl = WebServicePropertyFileUtil.get("wsdlUrl");        //创建客户端实例        JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();        client = dcf.createClient(wsdlUrl);    }    /**     * 调用webservice服务端方法     * @param methodName 方法名     * @param parameters 参数     * @return     */    public static Object[] invoke(String methodName,String... parameters){        Object[] res = null;        try {            res = client.invoke(methodName,parameters);            for(Object obj : res){                System.out.println(obj);            }        } catch (Exception e) {            e.printStackTrace();        }        return  res;    }    public static void main(String[] args){        invoke("SendMessages","haijen","您有一条新待办:","关于《》的通知");    }}

   注意事项:可能会出现cxf依赖的第三方jar和你本地项目已经使用的jar有冲突的情况,比如ehcache.jar,如果有冲突,需要对冲突的jar进行处理。

java客户端调用c#的webservice服务