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