CXF : 默认 wsdl 路径

CXF : default wsdl path

我 运行 一个带有 Tomcat7 和 cxf 3.2.1 的 soap 网络服务(在 windows 7 上),如果我将 wsdllocation 添加到我的 cxf-servlet.xml 文件中,我有一些错误但没有此属性,cxf 找到了正确的 wsdl,我的服务工作正常,但它不完全是我的 wsdl。 这很酷,但是怎么样? CXF 会在 运行 时间生成 wsdl 吗?我在文档中找不到有关 "default wsdl" 的任何信息... 谢谢!

所以,毕竟找到了答案:是的,CXF在运行时生成一个默认的wsdl。如果有人来自 Axis 1.x SOAP 定义,您必须将 package-info.java 添加到您的 API 包中,以便将 "elementFormDefault=qualified" 添加到 wsdl 类型定义中(不同客户端的一些问题)请参阅 this thread

如果要部署 wsdl,请将 wsdlLocation 添加到您的 servlet 中。xml/jaxws:端点定义:

<jaxws:endpoint xmlns:tns="http://my.service.com" 
    wsdlLocation="/wsdl/MyServiceImpl.wsdl" > 
   <!-- some configuration here -->
</jaxws>

根文件夹是您的部署点。