Как вы создаете EAR с включенными файлами политики, используя WLS Ant Tasks?
-
03-07-2019 - |
Вопрос
Я работал с JAX-WS с Weblogic Server, используя их Ant-задачи для создания файлов EAR, которые могут быть развернуты на сервере.Я получил базовые вызовы SOAP для работы с JAX-WS, но теперь я пытаюсь добавить некоторую безопасность на уровне сообщений с помощью WS-Security.
В соответствии с Документация, Существует два способа добавления политик безопасности в веб-службы.Один из них заключается в использовании аннотаций в самом исходном коде Java, но это означает, что политики устанавливаются навсегда.Второй метод заключается в добавлении файлов политики в файл EAR, а затем в разрешении администратору устанавливать политики для веб-служб после развертывания.
В то время как в документации упоминается куда вы должны поместить файлы политики, в нем не объясняется , как автоматически добавлять эти файлы политики , когда выполнение сборки с помощью Ant.Было бы слишком трудоемко при тестировании добавлять файлы политики вручную каждый раз, когда я создаю / повторно развертываю EAR.Вот код Ant, который я использую прямо сейчас для создания файла EAR:
<target name="build-service">
<jwsc source" srcdir="java" destdir="${ear-dir}">
<jws file="SoapService.java" type="JAXWS"/>
</jwsc>
</target>
Как я могу автоматически создать EAR с файлами политики в нужном месте?Меня больше всего интересует встроить это в WEB-INF / policies в файле Java WAR.Вы можете предположить, что у меня есть файлы политики под рукой, и я могу ссылаться на них перед сборкой.
Решение
Для справки, ответ заключается в использовании <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>