ベンダーから入手した wsdl を使用する実装に取り組んでいます。私たちのプロジェクトは Spring と CXF で実行されており、このベンダーの wsdl サービスにアクセスできるようにする jar を作成したいのですが、クラスパスの問題が発生しています。
CXF の wsdl2java を使用すると、次のようなコードを生成できます。
WSDL_LOCATION = new URL("file:SomeService.wsdl");
このサービスでは wsdl がクラスパスにある必要がありますが、スタンドアロンの jar として配布できるように jar にバンドルしたいと考えています。wsdl2java ツールを使用すると、URL のインスタンス化で任意の文字列を指定できます。ただし、機能するjar内のカスタム文字列とwsdlファイルの場所の組み合わせは見つかりませんでした。
これを希望どおりに機能させる唯一の方法は、wsdl ファイルを SomeService.class と同じフォルダーに置き、次の行を使用することです。
WSDL_LOCATION = TrackService.class.getResource("TrackService_v4.wsdl");
ただし、これには、Java コードを手動で編集して自分でコンパイルする必要があるという欠点があります。最終的にはこのプロセスを Maven ビルドの一部にし、wsdl2java に生成とコンパイルを自動的に実行させたいため、これは望ましくありません。
wsdl が jar 内のどこにあっても問題ありませんが、jar 内のファイルを参照するために wsdl2java に何を渡せばよいかわかりません。
誰にもこれを行う提案や経験はありますか?