加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何使用Apache CXF作为客户端?

发布时间:2020-12-14 06:08:28 所属栏目:Java 来源:网络整理
导读:我知道如何使用Apache CXF生成客户端存根.但是,当我尝试运行生成的类时,它使用JAXWS.另外,我注意到生成的类的导入类来自javax包.如何使用set生成的类来使用Apache CXF库而不是JAXWS库? 下面是我用来生成客户端存根的代码: wsdl2java -frontend jaxws21 -ws

我知道如何使用Apache CXF生成客户端存根.但是,当我尝试运行生成的类时,它使用JAXWS.另外,我注意到生成的类的导入类来自javax包.如何使用set生成的类来使用Apache CXF库而不是JAXWS库?

下面是我用来生成客户端存根的代码:

wsdl2java -frontend jaxws21 -wsdlLocation "META-INF/wsdl/WSCustom.wsdl" -client -d C:WorkspaceWSClientMETA-INFwsdl "C:WorkspaceWSClientMETA-INFwsdlWSCustom.wsdl"
最佳答案
存根是正确的,其中不应存在任何特定于CXF的导入,因为可以使用JAX-WS标准注释来表示CXF所需的所有信息.在运行时,如果它们位于类路径上,则将使用CXF客户端库,或者如果CXF不可用,将使用内置于JDK的RI.生成的存根将使用其中任何一个.

您在评论中询问了如果您只是运行客户端需要哪些CXF JAR – 据我所知,它只是cxf-rt-frontend-jaxws和cxf-rt-transports-http以及它们的传递依赖项.如果您的项目是使用maven构建的,那么只需声明这两个依赖项,其他所有内容都应自动进入,如果没有,则下载Apache Ivy main JAR然后运行

java -jar ivy-2.3.0.jar -dependency org.apache.cxf cxf-rt-frontend-jaxws 2.7.3 -retrieve "[artifact]-[revision](-[classifier]).jar"
java -jar ivy-2.3.0.jar -dependency org.apache.cxf cxf-rt-transports-http 2.7.3 -retrieve "[artifact]-[revision](-[classifier]).jar"

这应解决传递依赖关系并将相关JAR从Maven Central下载到当前目录中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读