`

cxf开发webservice客户端

    博客分类:
  • cxf
 
阅读更多

在项目开发中,由于需要与其他的系统对接,然而其他系统的可能是采用C#或者asp.net的语言开发的,所以我们需要通过服务端产生的wsdl来生产客户端。

 

基于上http://liuwuhen.iteye.com/admin/blogs/1666189采用cxf开发产生的服务端,来实现客户端开发。

 

1.通过服务端产生的wsdl文件,生成客户端代码 ,cxf的中可以通过wsdl2java命令,自动生成客户端代码。

 

    首先下载apache-cxf-2.0.13源文件,进入到D:\apache-cxf-2.0.13\bin目录,执行

 

     wsdl2java -d src -all  HelloWorld.wsdl

 

-p  指定其wsdl的命名空间,也就是要生成代码的包名。
-d  指定要产生代码所在目录。
-client 生成客户端测试web service的代码。
-server 生成服务器启动web  service的代码。
-impl 生成web service的实现代码。
-ant  生成build.xml文件。
-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object。

 

详细用法见:http://cwiki.apache.org/CXF20DOC/wsdl-to-java.html

 

由于是通过命令自动生成的,所以产生了代码比较的多,所以我们需要删除XXXService.java,XXX_Client.java、XXX_Server.java

 

如果是生成服务端代码时,需要注意:

修改以XX_PortTypeImpl.java的结尾的文件,是接口类的实现类,其中也有一行注解:要把这里的
wsdlLocation = "file:HelloWorld.wsdl", 
指定wsldLocation的路径,一般放在本地工程的src下面。

 

 

在这里生成的客户端接口如下:

@WebService(targetNamespace = "http://cxf.liuwuhen.com/", name = "IHelloWorld")

public interface IHelloWorld {

    @RequestWrapper(localName = "sayHello", targetNamespace = "http://cxf.liuwuhen.com/", className = "com.liuwuhen.cxf.SayHello")
    @ResponseWrapper(localName = "sayHelloResponse", targetNamespace = "http://cxf.liuwuhen.com/", className = "com.liuwuhen.cxf.SayHelloResponse")
    @WebMethod
    public void sayHello(
        @WebParam(name = "arg0", targetNamespace = "")
        java.lang.String arg0
    );
}

 

 

 

2.编写相关的测试方法。

 

基于webservice的客户端测试方法有很多种,可用采用工具例如:SOAPUI,也可以自己编写相关的测试代码。

 

在这里我采用的是编程式,编写客户端相关测试代码。

 

public static void main(String[] args)
{
  JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
  // 注册WebService接口
  factory.setServiceClass(IHelloWorld.class);
  // webservice请求地址
  String wsdlAdder = "http://localhost:8080/cxf-test/services/sayHello";
  // 发布接口
  factory.setAddress(wsdlAdder);
  IHelloWorld helloWorld = (IHelloWorld) factory.create();
  helloWorld.sayHello("cxf hello");
}

 

 

3.运行其客户端java类,即可输出 "say cxf hello".

 

   

1
0
分享到:
评论

相关推荐

    cxf开发webservice客户端和服务器端文档

    cxf开发webservice客户端和服务器端 cxf(Apache CXF)是一款开源的WebService框架,用于开发webservice客户端和服务器端。它提供了许多有用的功能,如自动生成服务桩、客户调用桩和WSDL文档等,使得开发webservice...

    cxf 开发webservice客户端

    总结,利用CXF开发Web服务客户端涉及了从生成客户端代码、创建实例到测试的整个流程。了解这些知识点,能够帮助我们更高效地构建和测试与Web服务交互的应用程序。在实际项目中,还需要根据具体需求进行相应的调整和...

    CXF开发webservice客户端

    1. 运行之前开发的 WebService 服务器(假设为 `CXF开发WebService服务器端`)。 2. 确保服务器已成功启动并监听指定端口。 **第四步:生成客户端代码** 1. 打开 Apache CXF 2.2.6 的 bin 目录。 2. 使用命令 `...

    03.使用CXF开发WebService客户端

    在IT行业中,Web Service是一种基于网络的、松散耦合的软件组件交互方式,它允许不同的应用...使用CXF开发WebService客户端.wmv"会更深入地展示这一过程,提供实际操作的步骤和示例,帮助你更好地理解和掌握这项技术。

    CXF动态webservice客户端demo

    这个"CXF动态webservice客户端demo"是为了演示如何使用CXF库创建一个动态调用Web服务接口的客户端应用程序。 首先,我们需要了解Web服务的基本概念。Web服务基于SOAP(Simple Object Access Protocol)协议,通过...

    Java cxf开发webservice,分别有客户端和服务端

    2.用cxf开发webservice 3.这个服务端和客户端的小demo 在服务端 对外开放接口服务,然后在客户端 调用服务端的方法, 实现客户端(一个javaweb项目)对服务端(javaweb项目)方法的调用, 实际上就是发送和接收消息...

    WebService开发客户端 cxf方式

    总结,使用CXF开发WebService客户端是Java开发者常用的一种方式,它简化了客户端的构建过程,提供了丰富的功能和良好的扩展性。通过理解WSDL、生成客户端代码、配置服务地址以及利用CXF的高级特性,可以高效地完成与...

    cxf生成webservice客户端

    在标题和描述中提到的“cxf生成webservice客户端”是指利用CXF的工具从WSDL文件自动生成Java客户端代码,以便于调用Web服务。 生成Web服务客户端的步骤如下: 1. **获取WSDL文件**:Web服务通常会公开一个WSDL文件...

    springboot整合CXF发布webservice和客户端调用

    - 对于客户端调用,可以使用CXF的`JaxWsProxyFactoryBean`创建服务代理对象,然后调用其方法进行服务调用。 4. **项目结构** - `.classpath`和`.project`是Eclipse IDE的项目配置文件。 - `pom.xml`是Maven的...

    使用cxf wsdl2java生成webservice客户端

    使用cxf wsdl2java生成webservice客户端命令

    cxf的webservice的客户端代码

    在这个“cxf的webservice的客户端代码”主题中,我们将深入探讨如何使用CXF框架来构建一个能够与Web服务交互的客户端。 首先,创建CXF Web服务客户端的核心在于理解服务代理的生成。CXF提供了WSDL2Java工具,可以从...

    使用CXF开发WebService服务器端和客户端

    开发WebService客户端** - **生成客户端代码**:CXF提供wsdl2java工具,可以从WSDL文件生成客户端所需的Java类和配置。 - **配置客户端**:配置客户端代理,设置服务地址等信息。 - **调用服务**:通过生成的客户端...

    CXF 一个完整的webService(整合客户端和服务端)

    CXF不仅简化了Web服务的开发,而且允许开发者无缝地在客户端和服务端之间切换,从而实现双向通信。 **1. CXF入门** 对于初学者,了解CXF的基本概念是至关重要的。CXF基于JAX-WS(Java API for XML Web Services)...

    cxf webService客户端

    在文件列表中的"WebServiceClient"可能是一个示例项目,包含了创建和运行CXF Web服务客户端的源代码和配置文件。通过分析这个项目,你可以更好地理解如何在实际开发中应用上述概念。 总之,CXF为Java开发者提供了一...

    WebService客户端

    在开发WebService客户端时,有几种常见的实现方式: 1. **SOAP(简单对象访问协议)客户端**:SOAP是WebService最原始的数据交换格式,它基于XML,提供了一种标准的请求-响应模型。开发者可以使用SOAP库,如Java的...

    CXF开发webservice服务端

    ### CXF 开发 WebService 服务端详解 #### 一、引言 随着企业级应用对服务化的不断追求,Web Service 成为了实现不同系统间通信的重要手段之一。Apache CXF 是一个高性能、易于使用的框架,它支持多种协议,如SOAP...

    cxf开发webservice所用jar包

    这个标题“cxf开发webservice所用jar包”表明我们正在讨论一组CXF框架所需的JAR文件,这些文件对于利用CXF开发基于Web服务的应用程序至关重要。在描述中提到“cxf-2.4.1整合spring3.0所用jar包”,这暗示了我们使用...

    webservice客户端开发

    总之,掌握在Spring中使用CXF开发WebService客户端是一项重要的技能,它能帮助开发者实现跨平台、跨语言的服务调用,为分布式系统提供强大的通讯能力。通过阅读并实践提供的文档,你应该能够深入理解这一过程,并在...

Global site tag (gtag.js) - Google Analytics