cxf wsdl2java 命令

本文指导如何使用Cxf自带的wsdl2java工具生成webservice客户端程序,解决发布在服务器端的webservice与JAX-WS2.2规约冲突导致的错误。通过设置环境变量和正确调用wsdl2java命令,确保生成的代码兼容JAX-WS2.1。同时,提供案例演示和解析生成过程中遇到的报错原因及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用cxf 自带的wsdl2java 工具进行webservice 的客户端程序生成


前提是服务器端webservice 已经发布

下载 apeache-cxf-xxxx 

在电脑环境设置中增加 CXF_HOME=apeache-cxf-xxxx 所在位置

path 中增加  %CXF_HOME%/bin;

在dos 环境下 输入 wsdl2java ,如果报出命令方法,则设置成功


例如 http://localhost:8080/springcxf/GreetingService?wsdl 可以在浏览器里看到xml内容

例如  wsdl2java -p 指定生成文件命名空间    -d   程序生成的地方    -client 服务器发布的wsdl服务

  实例    wsdl2java -p  com.wsdl    -d d:/wsdl     -client http://localhost:8080/springcxf/GreetingService?wsdl

则在 d:/wsdl 下生成文件


前提是服务器端webservice 已经发布

生成的文件放入工作空间,发现报错
 //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
    //compliant code instead.
    public SayHelloImplService(WebServiceFeature ... features) {
        super(WSDL_LOCATION, SERVICE, features);
    }


    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
    //compliant code instead.
    public SayHelloImplService(URL wsdlLocation, WebServiceFeature ... features) {
        super(wsdlLocation, SERVICE, features);
    }


    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
    //compliant code instead.
    public SayHelloImplService(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
        super(wsdlLocation, serviceName, features);
    }

三个super()报错

在网上找到原因是因为jax-ws2.2规约与java6冲突
删去这几个构造函数即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值