【问题标题】:: colon is not a valid char in the targetNamespace cxf-codegen-plugin wsdl2java:冒号不是目标命名空间中的有效字符 cxf-codegen-plugin wsdl2java
【发布时间】:2013-06-25 13:28:11
【问题描述】:

我想使用 cxf,我正在尝试使用 cxf-codegen-plugin wsdl2java 从 maven 提供的 WSDL 生成客户端存根

问题是targetNamespace被命名:

http://ip:port/ws/EndpointName.inbound.ws:companyName

和 maven generate-sources 阶段失败:

[ERROR] Failed to execute goal org.apache.cxf:cxf-codegen-plugin:2.7.5:wsdl2java (generate-jaxb) on project: Execution generate-jaxb of goal org.apache.cxf:cxf-codegen-plugin:2.7.5:wsdl2java failed: org.apache.cxf.tools.common.ToolException: : is not a valid char in the targetNamespace -> [Help 1]

我相信端点是使用 WebMethods 开发的。托管此 WS 端点的公司告诉我他们无法控制 targetNamespace。

我尝试替换

:companyName

通过

/companyName

客户端存根生成正常,但当我尝试联系他们的服务器时出现错误:

Caused by: javax.ejb.EJBException: javax.xml.ws.WebServiceException: Could not find service named {http://ip:port/ws/EndpointName.inbound.ws/companyName}WebServiceName in wsdl http://ip:port/ws/EndpointName.inbound.ws:companyName?WSDL

有什么想法吗? 我应该切换到axis2以与WebMethods兼容吗?

非常感谢

【问题讨论】:

  • 你好,建楼!你解决了这个问题吗?您能否分享一下您是如何做到的,因为提到的答案对我没有帮助?

标签: web-services namespaces cxf maven-plugin wsdl2java


【解决方案1】:
": is not a valid char in the targetNamespace" 

CXF-6527解决。

您应该将 Apache CXF 版本更新为较新的版本。已解决该问题的问题的修复版本为:3.1.3, 2.7.18, 3.0.7

【讨论】:

    【解决方案2】:

    我认为,如果您将 -validate=none 添加到 wsdl2java 命令,它将绕过该检查。

    【讨论】:

    • 使用 cxf-codegen-plugin 对我不起作用,使用“-validate=none”。 (在配置/wsdlOptions/wsdlOption 下)。是否必须以不同的方式通过?我已经尝试过 CXF 版本 2.7.12 和 3.0.1 ..
    • 您可以查看@oguzhankinik 的答案。
    猜你喜欢
    • 2021-10-10
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2020-07-25
    • 2012-04-27
    • 2012-09-18
    相关资源
    最近更新 更多