由于XSD上的HTTPS而导致wsimport schema_reference警告

时间:2015-08-13 19:18:09

标签: java web-services https wsimport jaxp

我在Windows 7上从命令提示符运行JDK 1.8.0_51 wsimport 。通过HTTPS访问WSDL URL:

  

wsimport -keep -Xnocompile https://...?wsdl

WSDL包含对也通过HTTPS访问的XSD的引用:

  

...的schemaLocation =" HTTPS:// ...的xsd = 1"

我收到了这个警告:

  

[警告] schema_reference:无法读取架构文档' ...?xsd = 1',因为' https'由于accessExternalSchema属性设置的限制,不允许访问。

该工具确实生成了客户端Java代码,但我不确定此代码是否正确。

我尝试通过使用javax.xml.accessExternalSchema = all创建一个jaxp.properties文件并将此文件放在%JAVA_HOME%\ jre \ lib中来遵循WebService Client Generation Error with JDK8中提供的解决方案。没效果。

我还尝试将此文件放在其他子目录中,例如%JAVA_HOME%\ lib(在http://docs.oracle.com/javase/7/docs/api/javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA中提及)和%JAVA_HOME%\ bin,都无济于事。

因此,问题归结为:如何在 wsimport 的上下文中指示JAXP以允许HTTPS协议?似乎没有任何 wsimport 命令行选项来传达这样的设置。

关于如何做到这一点的任何其他建议?

2 个答案:

答案 0 :(得分:4)

尝试添加选项-J-Djavax.xml.accessExternalSchema=all

答案 1 :(得分:0)

自从我提出这个问题以来,我无法摆脱wsimport警告;我完全忽略了它。虽然我没有观察到任何不利影响,但我仍然不是100%确信生成的代码是正确和最佳的,因为XSD没有被读取。