WLS Ant タスクを使用して、ポリシー ファイルが含まれた EAR を構築するにはどうすればよいですか?
-
03-07-2019 - |
質問
私は Weblogic Server で JAX-WS を操作し、Ant タスクを使用してサーバーにデプロイできる EAR ファイルを構築しました。JAX-WS で動作する基本的な SOAP 呼び出しを取得しましたが、今度は WS-Security を介してメッセージレベルのセキュリティを追加しようとしています。
による ドキュメンテーション, 、Web サービスにセキュリティ ポリシーを追加するには 2 つの方法があります。1 つは Java ソース自体にアノテーションを使用する方法ですが、ポリシーが永久に設定されることを意味します。2 番目の方法は、ポリシー ファイルを EAR ファイルに追加し、管理者がデプロイ後に Web サービスのポリシーを設定できるようにする方法です。
ドキュメントでは言及されていますが、 ポリシー ファイルを配置する必要がある場所, 、次の場合にこれらのポリシー ファイルを自動的に追加する方法が説明されていません。 Ant でビルドを実行する. 。EAR を構築/再デプロイするたびにポリシー ファイルを手動で追加するのは、テストに非常に手間がかかります。EAR ファイルを構築するために現在使用している Ant コードは次のとおりです。
<target name="build-service">
<jwsc source" srcdir="java" destdir="${ear-dir}">
<jws file="SoapService.java" type="JAXWS"/>
</jwsc>
</target>
ポリシー ファイルを含む EAR を適切な場所に自動的に構築するにはどうすればよいですか?私が最も興味があるのは、これを Java WAR ファイルの WEB-INF/ポリシーに組み込むことです。ポリシー ファイルが手元にあり、ビルドする前にそれらを参照できると想定してください。
解決
記録のために言っておきますが、答えは <module> を <zipfileset> と組み合わせて使用することです。
<target name="build-service">
<jwsc srcdir="java" destdir="${ear-dir}">
<module>
<jws file="SoapService.java" type="JAXWS"/>
<zipfileset dir="." prefix="WEB-INF/policies">
<include name="mypolicy.xml"/>
</zipfileset>
</module>
</jwsc>
</target>