我一直在使用 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>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top