1

我一直在使用带有 Weblogic Server 的 JAX-WS,使用他们的 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 中。您可以假设我手头有策略文件,并且可以在构建之前参考它们。

4

1 回答 1

0

作为记录,答案是将 <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>
于 2009-03-05T20:25:57.693 回答