java cxf 客户端调用_CXF客户端调用N种方式

方式一:

配置CXF环境变量,用wsdl2java工具自动产生代码。项目结构目录如下:

其中com.yq.webservice下面的所有的java类都是wsdl2java工具自动产生的。

JaxWsProxyFactoryBean factoryBean = newJaxWsProxyFactoryBean();

factoryBean.getInInterceptors().add(newLoggingInInterceptor());

factoryBean.getOutInterceptors().add(newLoggingOutInterceptor());

factoryBean.setServiceClass(HelloWorldDao.class);

factoryBean.setAddress(":8080/WebServiceTest/webservice/helloworld?wsdl");

HelloWorldDao impl=(HelloWorldDao) factoryBean.create();

impl.sayHello("zhengmo");

其中:

http//:8080/WebServiceTest/webservice/helloworld?wsdl是服务端提供的web service的端口地址。

上面的代码就是WebServiceClient.java中main方法里面的代码。

方式二:

任然需要先用wsdl2java工具生成相应的java代码。

HelloWorldDaoService factory = new HelloWorldDaoService();

HelloWorldDao helloWorldDao = factory.getHelloWorldDaoPort();

helloWorldDao.sayHello("zhengmo");

方式三:

最后一种方式不需要使用wsdl2java工具在客户端产生代码。

JaxWsDynamicClientFactory dcf =JaxWsDynamicClientFactory.newInstance();

String wsUrl= "http//:8080/WebServiceTest/webservice/helloworld?wsdl";

Client client=dcf.createClient(wsUrl);

String method= "sayHello";//webservice的方法名

Object[] result = null;try{

result= client.invoke(method, "zhengmo");//调用webservice

} catch(Exception e) {

e.printStackTrace();

}

CXF提供了很多client端的调用方法。这里让你快速了解这些选择,帮助你判断使用哪种。

参见:

源代码主体使用PacktPub.Apache.CXF.Web.Service.Development.Dec.2009书中的代码。本例中,将5种调用方式集中在一个工程中,并使用Maven重组的调用方式。

本例下载地址:

WSDL2Java generated Client

JAX-WS Proxy

JAX-WS Dispatch APIs

JAX-WS Client Proxy

Dynamic Client

Reflection API

Service Model API

在这里Dispatch本节内容不做介绍。

WSDL2Java generated Client

也就是依据wsdl文件生成java客户端,直接调用。查看调用方式,也就是OrderProce

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值