如何使用 WLS Ant 任务构建包含策略文件的 EAR?
-
03-07-2019 - |
题
我一直在使用 JAX-WS 和 Weblogic Server,使用它们的 Ant 任务来构建可以部署在服务器上的 EAR 文件。我已经获得了使用 JAX-WS 的基本 SOAP 调用,但现在我尝试通过 WS-Security 添加一些消息级安全性。
根据 文档, ,有两种方法可以向 Web 服务添加安全策略。一种是在 Java 源代码本身上使用注释,但这意味着策略是永久设置的。第二种方法是将策略文件添加到 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/policies 中。您可以假设我手头有策略文件,并且可以在构建之前参考它们。
解决方案
根据记录,答案是将 <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>
不隶属于 StackOverflow