当我尝试部署使用 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。