一. 简介
Apache CXF 是一个Service框架,他简化了Service的创建, CXF实现了JAX-WS2.0规范,并通过了JAX-WS2.0
TCK; CXF和Spring无缝集成;CXF支持多种传输协议(HTTP, JMS, Corba等),
支持多种Binding数据格式(SOAP,XML,JSON等), 支持多种DataBinding数据类型(JAXB, Aegis)
。CXF基于Interceptor的架构,使得整个框架非常易于扩展。
二. 如何发布并调用简单的web service实例
2.2. 新建java project ,并加入apache-cxf-2.0.7\lib所有包,编写要发布的web service
接口和实现
import javax.jws.WebService;
@WebService
public interface HelloWorld {
public String sayHello(String text);
}
import javax.jws.WebService;
@WebService(endpointInterface="test.HelloWorld")
public class HelloWorldImpl implements HelloWorld {
public String sayHello(String text) {
return "Hello" + text ;
}
}
@WebService 注解表示是要发布的web 服务
name:用于Interface,属映射到wsdl:portType element的name属性。
targetNamespace:用于Interface和implement,如果不指定,缺省会使用包名倒序做为wsdl名空间。
serviceName:用于implement,表示wsdl服务名。
portName:用于implement,表示wsdl:port 的name属性。
endpointInterface:用于implement,指定Interface全名,包括包名。
2.3.发布web service
public class Server {
protected Server() throws Exception {
System.out.println("Starting Server");
HelloWorldImpl implementor = new HelloWorldImpl();
Endpoint.publish(address, implementor);
}
public static void main(String args[]) throws Exception {
new Server();
System.out.println("Server ready...");
Thread.sleep(5 * 60 * 1000);
System.out.println("Server exiting");
System.exit(0);
}
}
2.4.下面就开始创建一个客户端程序,访问这个web service, 同样新建java project
,并加入apache-cxf-2.0.7\lib所有包,由于CXF已经提供wsdl转化成java
的命令工具,所以创建一个build.xml,用来生成客户端程序。Bulid.xml内容如下:
<?xml version="1.0"?>
<project name="cxf wsdl2java" basedir=".">
<property name="cxf.home" location
="${basedir}/WebRoot/WEB-INF/"/>
<path id="cxf.classpath">
<fileset dir="${cxf.home}/lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="cxfWSDLToJava">
<java classname="org.apache.cxf.tools.wsdlto.WSDLToJava"
fork="true">
<arg value="-client"/>
<arg value="-d"/>
<arg value="src"/>
<classpath>
<path refid="cxf.classpath"/>
</classpath>
</java>
</target>
</project>
或者:配置环境变量%CXF_HOME%=E:\WebService\CXF\apache-cxf-2.1.1\apache-cxf-2.1.1(以我的目录为例),并在PATH后加上;%CXF_HOME%\bin
在cmd命令行中输入wsdl2java如果显示其用法表示配置好了。
其作用上面的build.xml作用一样。
附加:wsdl2java用法:
wsdl2java -p com -d src -all aa.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, and an Ant build.xml file.
2.5.调用web service
public class MyClient {
public static void main(String[] argv) {
HelloWorld hello = new
HelloWorldImplService().getHelloWorldImplPort();
System.out.println(hello.sayHello("Tom") );
}
}
注意:运行时,要一定先要发布web sevice.
三. 参考资料
相关推荐
使用cxf wsdl2java生成webservice客户端命令
【标题】:“使用CXF:Java 2 WSDL” 【描述】:在Java开发中,Apache CXF是一个广泛使用的开源框架,它允许开发者构建和部署Web服务。"Java 2 WSDL"指的是从Java类生成WSDL(Web Services Description Language)...
### Apache CXF wsdl2java 工具使用详解 #### 一、Apache CXF 概述 Apache CXF 是一个高性能、轻量级的开源框架,用于构建和使用基于 SOAP 和 REST 规范的 Web 服务。CXF 提供了强大的功能支持,包括 XML 数据的...
cxf java代码生成 wsdl文件 ,wsdl文件生成 java代码,相关博文: http://blog.csdn.net/dream_broken/article/details/35331949
2. **使用CXF的wsdl2java工具**:CXF提供了一个名为`wsdl2java`的命令行工具,用于将WSDL转换为Java代码。在命令行中,你可以输入以下命令: ```bash wsdl2java -d /path/to/output/directory /path/to/your.wsdl...
本文将深入探讨如何利用CXF的`wsdl2java`工具从WSDL(Web Services Description Language)文件生成Java客户端和服务端代码,从而快速构建Web服务。 首先,我们需要理解WSDL。WSDL是一种XML格式的规范,它定义了Web...
### CXF提供的wsdl2java工具创建客户端的相关知识点 #### 一、背景介绍 CXF是一个强大的开源项目,主要用于简化企业级服务(如RESTful Web服务、SOAP Web服务等)的构建过程。它提供了多种工具和服务,使得开发者...
1.如果想学习java优先请访问http://download.csdn.net/source/3266183 2.包含一个eclipse工程以及一个ppt,ppt详细说明了实现的步骤。 3.设计中重点考察了schema validate的配置与实现,后续更高级的相关知识敬请...
它是由Apache CXF项目提供的,能够从一个WSDL文件自动生成Java源代码,这些源代码包含了客户端调用Web服务所需的 stubs、proxies和数据绑定类。这极大地简化了开发者的工作,无需手动编写复杂的网络调用代码。 生成...
转换WSDL文件为Java代码的工具有很多,除了MyEclipse,还有Apache CXF的wsdl2java工具,它是Apache CXF框架的一部分,可以独立于IDE运行。使用CXF的wsdl2java命令行工具,开发者可以在命令行环境中执行转换,同样...
wsdl2java.bat -autoNameResolution -frontend jaxws21 -impl -exsh true -psrc -d wsdljava -client wsdl ``` 在这个例子中,命令生成了客户端代码,并指定了源代码的存储位置`src`为`...
这是一个命令行工具,通常与Apache CXF或Axis等Java Web服务框架关联。它的主要功能是从WSDL文件生成Java源代码,这些代码可以被编译并用作Web服务的客户端或者服务提供者。通过运行`wsdl2java.cmd`,用户可以将...
1. **安装工具**:根据不同的Web服务框架,如Apache CXF、Axis2等,你需要先下载对应的工具包,包含`WSDL2Java`命令行工具。 2. **运行命令**:在命令行中,输入`WSDL2Java`命令,指定WSDL文件路径和相关选项。例如...
这个过程通常涉及到SOAP(Simple Object Access Protocol)库,如Apache CXF或 Axis2,这些库能将WSDL解析并生成Java代码。 在Eclipse中,导入生成的Java包后,开发者就可以在Java项目中直接调用ONVIF服务,实现对...
抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java(Throws Could not find main class: org.apache.axis.wsdl.WSDL2Java)。 添加本文的jar包压缩包解压出来的所有jar包到当前使用的java.exe 命令的lib目录下的ext...
`wsdl2java`是Apache CXF框架提供的一款命令行工具,它能够根据WSDL文件自动生成Java客户端和服务端代码,大大简化了Web服务的开发流程。这个工具支持两种方式来获取WSDL:文件路径和URL。 ### 使用WSDL2Java工具 ...
- 使用CXF的wsdl2java命令行工具,将WSDL文件转换为Java代码。命令格式如下: ``` cxf-codegen-plugin -wsdlLocation <WSDL文件路径> -d <生成代码的目标目录> ``` - 生成的代码包括服务接口、消息bean和SOAP...
WSDL2Java工具是Apache CXF框架的一部分,它实现了WSDL到Java代码的转换,将服务接口描述转化为可执行的Java类,方便开发者在Java环境中调用或实现Web服务。 一、WSDL2Java的作用 1. 生成客户端存根(Stub):通过...
wsdl2java源码sbt-cxf-wsdl2java 一个 sbt 插件,用于使用 cxf 从 WSDL 生成 java 工件 要求 快速开始 将插件添加到project/plugins.sbt : resolvers + = " Sonatype Repository " at " ...sbt-cxf-wsdl2java ...
Apache CXF如何把wsdl生成java代码 Apache CXF是一款开源的WebService框架,它提供了许多强大的功能,包括WebService的构建、开发和维护。其中,CXF可以把wsdl文件生成java代码,这对于我们开发WebService应用程序...