LoginSignup
7
5

More than 5 years have passed since last update.

wsimportコマンドでSAXPareseException(外部DTDアクセスが許可されない)の解決方法

Last updated at Posted at 2016-05-18

JDK8の環境でwsimportコマンドでSEIソースを生成する際に、以下のエラーが発生してしまったため、それを解決するために、いろいろ調べてみました。

C:\ProductInfo>wsimport ProductInfo.wsdl

[ERROR] org.xml.sax.SAXParseException; systemId: file:/C:/ProductInfo/xmldsig-co
re-schema.xsd; lineNumber: 10; columnNumber: 5; 外部DTD: accessExternalDTDプロパ
ティで設定された制限により'file'アクセスが許可されていないため、外部DTD 'XMLSche
ma.dtd'の読取りに失敗しました。
  行8/file:/C:/ProductInfo/ProductInfo.wsdl

  WSDLの解析に失敗しました。

解決方法1

wsimportコマンドを実行する際に、-J-Djavax.xml.accessExternalDTD=all又は-J-Djavax.xml.accessExternalSchema=allのオプションを付けること。

C:\ProductInfo>wsimport -J-Djavax.xml.accessExternalDTD=all ProductInfo.wsdl

WSDLを解析しています...

コードを生成しています...

コードをコンパイルしています...

解決方法2

1.ファイルjaxp.propertiesを新規作成し、以下の内容を記載する。

javax.xml.accessExternalDTD = all
javax.xml.accessExternalSchema = all

2.上記のファイルを%JAVA_HOME%\jre\lib配下にコピーする。

C:\ProductInfo>wsimport ProductInfo.wsdl

WSDLを解析しています...

コードを生成しています...

コードをコンパイルしています...

[参照先]
http://stackoverflow.com/questions/23011547/webservice-client-generation-error-with-jdk8

7
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5