いくつかの機能 (バグ報告など) に SOAP サービスを利用するファット クライアントを作成しています。
JAX-WS は正常に動作していますが、デフォルトでは (少なくとも netbeans では)、サービスが初期化されるたびにリモート サーバーから WSDL をフェッチします。これがバージョン管理のサポートなどを提供するのに役立つことを期待していますが、それは私が望んでいるものではありません。
wsdllocation
引数を wsimport に追加して、生成されたクラスがローカル リソースを指すようにしました。次のスニペットは、ApplicationService.java から WSDL リソースをロードする URL です。
baseUrl = net.example.ApplicationService.class.getResource(".");
url = new URL(baseUrl, "service.wsdl");
net/example/resources パッケージの jar 内に保存されているリソースを指すことに問題はないと確信しており、jar 自体は期待どおりに構築されています。ただし、サービスは読み込まれません...具体的には、ApplicationService.getPort(); を呼び出すと NullPointerException が発生します。
これは可能ですか?それともただのガチョウ追跡?