当我尝试部署使用 CXF 的 wsdl2java 生成的 Web 服务以从 WSDL 文件生成 Java 代码时,出现一些错误。当我尝试规范化 PolicyReference 时,我设法将错误追溯到 Apache Neethi 抛出的 NullPointerException。策略引用在外部 XML 文件中定义(许多 WSDL 引用此策略文件)。这是我在 WSDL 中看到的内容:
<wsp:PolicyReference URI="policy:someExternalFile.xml#PolicyName" />
我尝试删除 URI 开头的“policy:”方案并一起删除 URI 方案。
如果我将策略移至 WSDL,一切都会正常进行。我使用的是 CXF 2.2.3 和 Tomcat 6。此版本中包含的 Apache Neethi 版本是 2.0.4。
最佳答案
您是否有机会使用 CXF 记录错误并附加显示问题的示例 wsdl/policy?这可能是一个 neethi 问题错误,也可能是 CXF 策略加载机制中的错误。拥有一个测试用例对于诊断这个问题非常有用。
关于java - WSDL 策略对外部文件的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1556462/