wsimport实用程序:设置JVM参数

时间:2017-09-26 18:44:30

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

从WSDL生成pojos时,我得到以下异常。

  

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

我在[WebService Client Generation Error with JDK8

中找到了解决方案

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

  

-Djavax.xml.accessExternalSchema =所有

如何在jvm 1.8中添加此参数(我使用的是macos)或者使用上面的jvm参数运行wsimport?

1 个答案:

答案 0 :(得分:0)

我和你一样努力解决同样的问题。

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

简单的一种方法是通过具有以下具体属性的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