`
bean-woo
  • 浏览: 136076 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

CXF wsdl Java

阅读更多

 

一.  简介
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.1.下载:apache-cxf-2.1.1  http://cxf.apache.org/download.html
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();
         String address = "http://localhost:9000/helloWorld ";
         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);
    }
}
运行后,在浏览器中输入http://localhost:9000/helloWorld?wsdl 将显示这个web service的wsdl.说明web service发布成功。
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"/>
         <arg value="http://localhost:9000/helloWorld?wsdl"/ >
         <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如果显示其用法表示配置好了。
输入:wsdl2java -d src - client http://localhost:9000/helloWorld?wsdl
其作用上面的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.
三.  参考资料
1.CXF 主页: http://cxf.apache.org/
2. CXF中文讨论组: http://groups.google.com/group/cxf-zh  
3. Web service: http://www.w3school.com.cn/webservices/index.asp
4. WSDL: http://www.w3school.com.cn/wsdl/index.asp
5. SOAP:http://www.w3school.com.cn/soap/index.asp

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pengchua/archive/2008/07/30/2740565.aspx

 

分享到:
评论

相关推荐

    使用cxf wsdl2java生成webservice客户端

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

    使用CXF: Java 2 WSDL

    【标题】:“使用CXF:Java 2 WSDL” 【描述】:在Java开发中,Apache CXF是一个广泛使用的开源框架,它允许开发者构建和部署Web服务。"Java 2 WSDL"指的是从Java类生成WSDL(Web Services Description Language)...

    apache CXF wsdl2java工具使用说明

    ### Apache CXF wsdl2java 工具使用详解 #### 一、Apache CXF 概述 Apache CXF 是一个高性能、轻量级的开源框架,用于构建和使用基于 SOAP 和 REST 规范的 Web 服务。CXF 提供了强大的功能支持,包括 XML 数据的...

    cxf wsdl生成工具

    cxf java代码生成 wsdl文件 ,wsdl文件生成 java代码,相关博文: http://blog.csdn.net/dream_broken/article/details/35331949

    apache-cxf生成wsdl

    2. **使用CXF的wsdl2java工具**:CXF提供了一个名为`wsdl2java`的命令行工具,用于将WSDL转换为Java代码。在命令行中,你可以输入以下命令: ```bash wsdl2java -d /path/to/output/directory /path/to/your.wsdl...

    利用CXF的wsdl2java来建立Web Service.

    本文将深入探讨如何利用CXF的`wsdl2java`工具从WSDL(Web Services Description Language)文件生成Java客户端和服务端代码,从而快速构建Web服务。 首先,我们需要理解WSDL。WSDL是一种XML格式的规范,它定义了Web...

    CXF提供的wsdl2java工具创建客户端

    ### CXF提供的wsdl2java工具创建客户端的相关知识点 #### 一、背景介绍 CXF是一个强大的开源项目,主要用于简化企业级服务(如RESTful Web服务、SOAP Web服务等)的构建过程。它提供了多种工具和服务,使得开发者...

    CXF v3 从wsdl到java

    1.如果想学习java优先请访问http://download.csdn.net/source/3266183 2.包含一个eclipse工程以及一个ppt,ppt详细说明了实现的步骤。 3.设计中重点考察了schema validate的配置与实现,后续更高级的相关知识敬请...

    wsdl2java 生成wsdljava客户端所需要的包

    它是由Apache CXF项目提供的,能够从一个WSDL文件自动生成Java源代码,这些源代码包含了客户端调用Web服务所需的 stubs、proxies和数据绑定类。这极大地简化了开发者的工作,无需手动编写复杂的网络调用代码。 生成...

    把wsdl文件或地址转化成java代码工具

    转换WSDL文件为Java代码的工具有很多,除了MyEclipse,还有Apache CXF的wsdl2java工具,它是Apache CXF框架的一部分,可以独立于IDE运行。使用CXF的wsdl2java命令行工具,开发者可以在命令行环境中执行转换,同样...

    cxf 生成java代码的执行命令

    wsdl2java.bat -autoNameResolution -frontend jaxws21 -impl -exsh true -psrc -d wsdljava -client wsdl ``` 在这个例子中,命令生成了客户端代码,并指定了源代码的存储位置`src`为`...

    wsdl生成java代码工具

    这是一个命令行工具,通常与Apache CXF或Axis等Java Web服务框架关联。它的主要功能是从WSDL文件生成Java源代码,这些代码可以被编译并用作Web服务的客户端或者服务提供者。通过运行`wsdl2java.cmd`,用户可以将...

    WSDL2Java--根据wsdl生成Java客户端工具

    1. **安装工具**:根据不同的Web服务框架,如Apache CXF、Axis2等,你需要先下载对应的工具包,包含`WSDL2Java`命令行工具。 2. **运行命令**:在命令行中,输入`WSDL2Java`命令,指定WSDL文件路径和相关选项。例如...

    onvif wsdl转成java代码

    这个过程通常涉及到SOAP(Simple Object Access Protocol)库,如Apache CXF或 Axis2,这些库能将WSDL解析并生成Java代码。 在Eclipse中,导入生成的Java包后,开发者就可以在Java项目中直接调用ONVIF服务,实现对...

    抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java

    抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java(Throws Could not find main class: org.apache.axis.wsdl.WSDL2Java)。 添加本文的jar包压缩包解压出来的所有jar包到当前使用的java.exe 命令的lib目录下的ext...

    wsdl2java工具

    `wsdl2java`是Apache CXF框架提供的一款命令行工具,它能够根据WSDL文件自动生成Java客户端和服务端代码,大大简化了Web服务的开发流程。这个工具支持两种方式来获取WSDL:文件路径和URL。 ### 使用WSDL2Java工具 ...

    WebService的WSDL文件生成Java代码工具

    - 使用CXF的wsdl2java命令行工具,将WSDL文件转换为Java代码。命令格式如下: ``` cxf-codegen-plugin -wsdlLocation &lt;WSDL文件路径&gt; -d &lt;生成代码的目标目录&gt; ``` - 生成的代码包括服务接口、消息bean和SOAP...

    WSDL2Java工具

    WSDL2Java工具是Apache CXF框架的一部分,它实现了WSDL到Java代码的转换,将服务接口描述转化为可执行的Java类,方便开发者在Java环境中调用或实现Web服务。 一、WSDL2Java的作用 1. 生成客户端存根(Stub):通过...

    wsdl2java源码-sbt-cxf-wsdl2java:一个sbt插件,用于使用cxf从WSDL生成java工件

    wsdl2java源码sbt-cxf-wsdl2java 一个 sbt 插件,用于使用 cxf 从 WSDL 生成 java 工件 要求 快速开始 将插件添加到project/plugins.sbt : resolvers + = " Sonatype Repository " at " ...sbt-cxf-wsdl2java ...

    Apache CXF如何把wsdl生成java代码

    Apache CXF如何把wsdl生成java代码 Apache CXF是一款开源的WebService框架,它提供了许多强大的功能,包括WebService的构建、开发和维护。其中,CXF可以把wsdl文件生成java代码,这对于我们开发WebService应用程序...

Global site tag (gtag.js) - Google Analytics