在最近的项目中需要做一个webservice的客户端,为了方便,我使用cxf工具自动生成客户端。
1,首先,我从官网上下载了cxf的工具包。解压之后,从cmd进入cxf的bin目录,运行以下命令
结果报路径找不到,经过研究发现,是JDK版本问题,CXF生成工具需要JDK1.5的运行环境,而我的是JDK1.7。更换JDK版本后重新执行以上命令成功的生成了客户端代码。
2,将生成的代码放到工程下,结果发现super相关代码编译报错。开始以为是缺包,结果试着添加了很多的包也没能好使。
-
//This
constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 -
jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 -
code instead. -
IcpBusinessService(WebServiceFeature ... features) { -
SERVICE, features); -
} -
-
constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 -
jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 -
code instead. -
IcpBusinessService(URL wsdlLocation, WebServiceFeature ... features) { -
QName serviceName, WebServiceFeature ... features) { -
serviceName, features); -
}
最后发现,其不能正常编译通过是由于jax-ws2.2规约与java6冲突。但程序又不能仅以java5来编译,故需要降低jax-ws规约版本,可以这样处理:
wsdl2java -frontend jaxws21 -client *.xml
在最近的项目中需要做一个webservice的客户端,为了方便,我使用cxf工具自动生成客户端。
1,首先,我从官网上下载了cxf的工具包。解压之后,从cmd进入cxf的bin目录,运行以下命令
结果报路径找不到,经过研究发现,是JDK版本问题,CXF生成工具需要JDK1.5的运行环境,而我的是JDK1.7。更换JDK版本后重新执行以上命令成功的生成了客户端代码。
2,将生成的代码放到工程下,结果发现super相关代码编译报错。开始以为是缺包,结果试着添加了很多的包也没能好使。
-
//This
constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 -
jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 -
code instead. -
IcpBusinessService(WebServiceFeature ... features) { -
features); -
} -
-
constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 -
jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 -
code instead. -
IcpBusinessService(URL wsdlLocation, WebServiceFeature ... features) { -
WebServiceFeature ... features) { -
features); -
}
最后发现,其不能正常编译通过是由于jax-ws2.2规约与java6冲突。但程序又不能仅以java5来编译,故需要降低jax-ws规约版本,可以这样处理:
wsdl2java -frontend jaxws21 -client *.xml
注:我将这两次生成的客户端代码进行比较,唯一的区别就是用后者生成的客户端代码将报错的3个构造函数移除了。也就是说,我们只需要将这3个出错的构造器删除就可以处理此异常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。