CXF提供Client调用WebService接口的方法

转载 2015年11月18日 12:03:11
 1、 JaxWsProxyFactoryBean 
   简介:调用方式采用了和RMI类似的机制,即客户端直接服务器端提供的服务接口(interface),CXF通过运行时代理生成远程服务的代理对象,在客户端完成对webservice的访问;几个必填的字段:setAddress-这个就是我们发布webservice时候的地址,保持一致
     缺点:这种调用service的好处在于调用过程非常简单,就几行代码就完成一个webservice的调用,但是客户端也必须依赖服务器端的接口,这种调用方式限制是很大的,要求服务器端的webservice必须是java实现--这样也就失去了使用webservice的意义
  1. import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
  2. public class Client {  
  3.     public static void main(String[] args) {  
  4.         JaxWsProxyFactoryBean bean = new JaxWsProxyFactoryBean();  
  5.         bean.setServiceClass(HelloWorldService.class);  
  6.         bean.setAddress("http://localhost:9090/helloWorldService");  
  7.         HelloWorldService helloWorldService = (HelloWorldService)bean.create();  
  8.         String result = helloWorldService.sayHello("Kevin");  
  9.         System.out.println(result);  
  10.     } 

2、JaxWsDynamicClientFactory  [Dynamci:动态的]
     简介:只要指定服务器端wsdl文件的位置,然后指定要调用的方法和方法的参数即可,不关心服务端的实现方式。
                wsdl [Web Services Description Language]网络服务描述语言是Web Service的描述语言,它包含一系列描述某个web service的定义
  1. import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
  2. public class Client2 {  
  3.     public static void main(String[] args) throws Exception {  
  4.         JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();  
  5.         Client client = clientFactory.createClient("http://localhost:9090/helloWorldService?wsdl");  
  6.         Object[] result = client.invoke("sayHello""KEVIN");  
  7.         System.out.println(result[0]);  
  8.     }  
  9. }  


3、JaxWsServerFactoryBean

     用JaxWsServerFactoryBean发布,需要独立的jetty包。

注:具体可以参考CXF API  ----http://cxf.apache.org/docs/dynamic-clients.html

java调用CXF WebService接口的两种方式

通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了。   2.静态调用        ...
  • qq_26562641
  • qq_26562641
  • 2017年05月10日 15:25
  • 3518

一个简单的cxf框架调用webservice接口天气预报例子

wsdl URL:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl cxf环境变量配置百度! 命令:wsdl2java ...
  • qq_28553433
  • qq_28553433
  • 2017年01月04日 13:58
  • 2061

WebService CXF调用方式《三》

问题?WebService CXF调用方式《三》,CXF工作原理和调用方式 一、CXF是什么? Apache CXF是一个开源的,全功能的,容易使用的Web服务框架。CXF是两个项目的结合:由IO...
  • Mr_li13
  • Mr_li13
  • 2016年04月28日 09:34
  • 7270

cxf动态调用webservice接口

package cxfClient; import org.apache.cxf.endpoint.Endpoint; import javax.xml.namespace.QName; imp...
  • itdragons
  • itdragons
  • 2017年07月19日 15:36
  • 686

cxf Webservice 使用httpClient 调用

package com.wistron.wh.swpc.portal.uitl; import java.io.BufferedInputStream; import java.io.File; i...
  • superdog007
  • superdog007
  • 2015年10月08日 16:26
  • 2786

CXF 生成Web Service Client(将WSDl 转化成 Java代码)

Apache CXF一个开源的Service框架,它实现了JCP与Web Service中一些重要标准。CXF简化了构造,集成,面 向服务架构(SOA)业务组件与技术的灵活复用。在CXF中,Servi...
  • oscar999
  • oscar999
  • 2014年10月21日 12:38
  • 23396

CXF动态客户端调用webservice实例

使用CXF实现WebService,并在客户端实现动态调用编写服务器注意事项 注意 :不要指定 @SOAPBinding(style=Style.RPC, use=Use.LITERAL) 因...
  • RodJohnsonDoctor
  • RodJohnsonDoctor
  • 2013年07月31日 14:38
  • 29926

CXF开发webService客户端调用服务器端测试

根据上一篇博文,先启动helloServer服务端,新建项目,拷入jar包然后打开cmd,进入客户端代码的src路径,输入代码wsImport -keep http://localhost:8080/...
  • King_818
  • King_818
  • 2016年11月01日 14:02
  • 1468

CXF客户端代码生成与服务调用(二)

通过命令行操作:
  • hu_shengyang
  • hu_shengyang
  • 2014年08月05日 14:21
  • 24010

CXF创建webservice客户端和服务端

一、CXF的介绍Apache CXF是一个开源的WebService框架,CXF大大简化了Webservice的创建,同时它继承了XFire的传统,一样可以和spring天然的进行无缝的集成。CXF框...
  • xzknet
  • xzknet
  • 2014年01月06日 15:29
  • 43610
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CXF提供Client调用WebService接口的方法
举报原因:
原因补充:

(最多只允许输入30个字)