【问题标题】:wsimport utility: set JVM argumentswsimport 实用程序:设置 JVM 参数
【发布时间】:2017-09-26 18:44:30
【问题描述】:

从 WSDL 生成 pojo 时出现以下异常。

外部 DTD:无法读取外部 DTD 'XMLSchema.dtd',因为 由于设置的限制,不允许“http”访问 访问ExternalDTD 属性。

我在 [WebService Client Generation Error with JDK8

中找到了解决方案

[1]: WebService Client Generation Error with JDK8 有人提到要在 jvm 参数下面添加。

-Djavax.xml.accessExternalSchema=all

如何在 jvm 1.8 中添加此参数(仅供参考,我使用的是 macos)或使用上述 jvm 参数运行 wsimport?

【问题讨论】:

    标签: web-services soap jvm soap-client wsimport


    【解决方案1】:

    我和你遇到了同样的问题。

    有两种方法可以做到这一点(至少是我发现的那些)。

    最简单的方法是通过具有此具体属性的 java 命令将 WsImport 作为 java 类调用:

    java -Djavax.xml.accessExternalSchema=all \
         -Djavax.xml.accessExternalDTD=all \
         -cp /path/to/jdk/lib/tools.jar  com.sun.tools.internal.ws.WsImport \
         -d destination -s source  wsdl_file_location
    

    说明: 我调用同样从 wsimport 命令调用的具体类 (com.sun.tools.internal.ws.WsImport)。我选择了这种方式,因为问题是 wsimport 没有提供任何选项来指定额外的 jvm 参数,这种解决方法对我来说是最快的。

    第二个选项是修改JVM参数。为此,您可以参考: jvm configuration

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      相关资源
      最近更新 更多