我一直在使用JAX-WS和Weblogic Server,使用他们的Ant任务来构建可以部署在服务器上的EAR文件。我已经获得了使用JAX-WS的基本SOAP调用,但现在我正在尝试通过WS-Security添加一些消息级安全性。
根据documentation,有两种方法可以为Web服务添加安全策略。一种是在Java源本身上使用注释,但意味着策略是永久设置的。第二种方法是将策略文件添加到EAR文件,然后允许管理员为部署后的Web服务设置策略。
虽然文档提到where you must put the policy files,但它无法解释如何在doing a build with 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中。您可以假设我手头有策略文件,可以在构建之前引用它们。
答案 0 :(得分:0)
对于记录,答案是使用&lt; module&gt;与&lt; zipfileset&gt;结合使用:
<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>