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进行处理。

你可能感兴趣的:(webservice)