1. ホーム
  2. webservice-client

[解決済み】JDK8でWebServiceクライアント生成エラー

2022-04-03 01:34:19

質問

私はプロジェクトでウェブサービスを利用する必要があります。私はNetBeansを使用しているので、私のプロジェクトを右クリックして、新しい"Webサービス・クライアント"を追加しようとしました。私が最後にチェックしたとき、これはWebサービスクライアントを作成する方法でした。しかし、それはAssertionErrorになり、こう言いました。

java.lang.AssertionError: org.xml.sax.SAXParseException; systemId.SAXParseException.SAXParseException.SAXParseException。jar:file:/path/to/glassfish/modules/jaxb-osgi.jar!/com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd; lineNumber: 52; columnNumber: 88; schema_reference.Xsd;/com/sun/tools/xjc/reader/xmlschema/bindinfo.xsd; /com/sun/tools/xjc/reader/xmlschema/binding.xsd スキーマ文書の読み込みに失敗しました ' xjc.xsd によって設定された制限のために 'ファイル' アクセスが許可されていないためです。 アクセスエクスターナルスキーマ プロパティを使用します。

NetBeansのデフォルトのJavaプラットフォームはJDK8(Oracleの正式版)だったので、netbeans.confファイルを変更してJDK7(同じくOracleの)をデフォルトにしたら、すべてうまくいった。なので、JDK8に問題があるのだと思います。以下は、私の java -version を出力します。

java バージョン "1.8.0"。

Java(TM) SE ランタイム環境 (ビルド 1.8.0-b132)

Java HotSpot(TM) 64ビットサーバVM(ビルド25.0-b70、ミックスモード)。

今のところ、私はJDK7をデフォルトのJavaプラットフォームとして維持しています。もし、JDK8を動作させる方法があれば、教えてください。

どのように解決するのですか?

さて、解決策が見つかりました。(ベースは http://docs.oracle.com/javase/7/docs/api/javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA )

という名前のファイルを作成します。 jaxp.properties (存在しない場合) /path/to/jdk1.8.0/jre/lib で、その中にこの行を書きます。

javax.xml.accessExternalSchema = all

以上です。JDK 8をお楽しみください。