cxf工具使用说明

进入CXF bin目录下:

->wsdl2java -p 包路径名 -d 目标文件夹 wsdl的URL地址

 注:最好别指定-p,即包路径名,这样就会根据wsdl文件中的targetNamespace逆序自动生成包路径名
或者将CXF bin的路径配置到系统环境变量中,这样在任何路径下都可以调用wsdl2java命令了
还可以使用命令:

-->wsdl2java addNumbers.wsdl,前提是当前路径为addNumbers.wsdl所在路径

 将wsdl文件同级目录下生成的客户端测试代码和wsdl文件都copy到工程中,编译时异常出现了。继承Service的类构造器有error,不能被正常编译。
这是三个报错的构造函数(请认真看注释描述):

 //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 IcpBusinessService(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 IcpBusinessService(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 IcpBusinessService(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
        super(wsdlLocation, serviceName, features);
    }

 原因请参见:http://cxf.apache.org/docs/23-migration-guide.html   官方说明。
怎么解决呢?  经过研究发现,其不能正常编译通过是由于jax-ws2.2规约与java6冲突。 但程序又不能仅以java5来编译,故需要降低jax-ws规约版本,可以这样处理:  执行命令
其实代码注释中已经告诉我们解决的方法了。及使用

wsdl2java -frontend jaxws21 addNumbers.wsdl

 

命令。
OK问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值