在项目开发中,由于需要与其他的系统对接,然而其他系统的可能是采用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".
分享到:
相关推荐
cxf开发webservice客户端和服务器端 cxf(Apache CXF)是一款开源的WebService框架,用于开发webservice客户端和服务器端。它提供了许多有用的功能,如自动生成服务桩、客户调用桩和WSDL文档等,使得开发webservice...
总结,利用CXF开发Web服务客户端涉及了从生成客户端代码、创建实例到测试的整个流程。了解这些知识点,能够帮助我们更高效地构建和测试与Web服务交互的应用程序。在实际项目中,还需要根据具体需求进行相应的调整和...
1. 运行之前开发的 WebService 服务器(假设为 `CXF开发WebService服务器端`)。 2. 确保服务器已成功启动并监听指定端口。 **第四步:生成客户端代码** 1. 打开 Apache CXF 2.2.6 的 bin 目录。 2. 使用命令 `...
在IT行业中,Web Service是一种基于网络的、松散耦合的软件组件交互方式,它允许不同的应用...使用CXF开发WebService客户端.wmv"会更深入地展示这一过程,提供实际操作的步骤和示例,帮助你更好地理解和掌握这项技术。
这个"CXF动态webservice客户端demo"是为了演示如何使用CXF库创建一个动态调用Web服务接口的客户端应用程序。 首先,我们需要了解Web服务的基本概念。Web服务基于SOAP(Simple Object Access Protocol)协议,通过...
2.用cxf开发webservice 3.这个服务端和客户端的小demo 在服务端 对外开放接口服务,然后在客户端 调用服务端的方法, 实现客户端(一个javaweb项目)对服务端(javaweb项目)方法的调用, 实际上就是发送和接收消息...
总结,使用CXF开发WebService客户端是Java开发者常用的一种方式,它简化了客户端的构建过程,提供了丰富的功能和良好的扩展性。通过理解WSDL、生成客户端代码、配置服务地址以及利用CXF的高级特性,可以高效地完成与...
在标题和描述中提到的“cxf生成webservice客户端”是指利用CXF的工具从WSDL文件自动生成Java客户端代码,以便于调用Web服务。 生成Web服务客户端的步骤如下: 1. **获取WSDL文件**:Web服务通常会公开一个WSDL文件...
- 对于客户端调用,可以使用CXF的`JaxWsProxyFactoryBean`创建服务代理对象,然后调用其方法进行服务调用。 4. **项目结构** - `.classpath`和`.project`是Eclipse IDE的项目配置文件。 - `pom.xml`是Maven的...
使用cxf wsdl2java生成webservice客户端命令
在这个“cxf的webservice的客户端代码”主题中,我们将深入探讨如何使用CXF框架来构建一个能够与Web服务交互的客户端。 首先,创建CXF Web服务客户端的核心在于理解服务代理的生成。CXF提供了WSDL2Java工具,可以从...
开发WebService客户端** - **生成客户端代码**:CXF提供wsdl2java工具,可以从WSDL文件生成客户端所需的Java类和配置。 - **配置客户端**:配置客户端代理,设置服务地址等信息。 - **调用服务**:通过生成的客户端...
CXF不仅简化了Web服务的开发,而且允许开发者无缝地在客户端和服务端之间切换,从而实现双向通信。 **1. CXF入门** 对于初学者,了解CXF的基本概念是至关重要的。CXF基于JAX-WS(Java API for XML Web Services)...
在文件列表中的"WebServiceClient"可能是一个示例项目,包含了创建和运行CXF Web服务客户端的源代码和配置文件。通过分析这个项目,你可以更好地理解如何在实际开发中应用上述概念。 总之,CXF为Java开发者提供了一...
在开发WebService客户端时,有几种常见的实现方式: 1. **SOAP(简单对象访问协议)客户端**:SOAP是WebService最原始的数据交换格式,它基于XML,提供了一种标准的请求-响应模型。开发者可以使用SOAP库,如Java的...
### CXF 开发 WebService 服务端详解 #### 一、引言 随着企业级应用对服务化的不断追求,Web Service 成为了实现不同系统间通信的重要手段之一。Apache CXF 是一个高性能、易于使用的框架,它支持多种协议,如SOAP...
这个标题“cxf开发webservice所用jar包”表明我们正在讨论一组CXF框架所需的JAR文件,这些文件对于利用CXF开发基于Web服务的应用程序至关重要。在描述中提到“cxf-2.4.1整合spring3.0所用jar包”,这暗示了我们使用...
总之,掌握在Spring中使用CXF开发WebService客户端是一项重要的技能,它能帮助开发者实现跨平台、跨语言的服务调用,为分布式系统提供强大的通讯能力。通过阅读并实践提供的文档,你应该能够深入理解这一过程,并在...