Создание клиента WebService с использованием Apache Axis2 и Rampart
Вопрос
У нас есть требование, когда WebService с username Token Security был создан в IBM WebSphere Integration Developer 6.1. Теперь, чтобы проверить это, мы должны разработать клиент веб-сервиса в Java. Требование состоит в том, чтобы сделать это, используя Apache Axis2. После того, как это много читает на этом, я смог использовать AXIS2 для создания клиента для простого веб-сервиса, которая не требует аутентификации, и я смог проверить его правильно. Но я узнал, что для того, чтобы использовать безопасность токена имени пользователя с AXIS2, необходима Rampart.
Теперь мне нужно знать, как использовать Rambart с Axis2 в Eclipse. У нас нет сервера Apache, установленного в наших системах, но мы развертываем его в Eclipse. Даже после прочтения много статей на то же самое, я не смог заняться работой Рампарта.
Может кто-нибудь, пожалуйста, просидите меня через шаги настройки Rambart в Eclipse, а также как использовать его для получения клиента WebService, используя токен имени пользователя?
До сих пор, используя AXIS2, я использовал следующие шаги. 1. Создайте проект Java и импортируйте необходимые WSDL в него. 2. Используя WSDLS, я создаю WebServiCeCleient, а следующие типы файлов создаются. Файл интерфейса Java B. Прокси-файл Java, который реализует интерфейс, упомянутый в файле ac a java stub, который расширяет org.apache.axis.client.stub и реализует интерфейс, упомянутый в рекламном файле службы Java, который снова является интерфейсом e. Файл ServiceLocator Java, который реализует вышеуказанный интерфейс.
Итак, мне также нужно знать, как я могу использовать эти файлы для тестирования веб-службы токена имени пользователя.
Когда я делаю вышеупомянутое использование динамического веб-проекта и щелкните правой кнопкой мыши на WSDLS и нажмите на Generate Client, создаются файлы servicecallbackhandhandler.java и httpsrvicestub. Как я могу использовать их для достижения тестирования?
Спасибо.
Решение
Я не использовал Rampart для токенов имени пользователя, но для моих услуг (подписание и шифрование) документация IBM была действительно полезной. Посмотри на: http://www.ibm.com/developerworks/java/library/j-jws4/ Java Web Services: основы Axis2 WS-Security; Посмотрите, как установить Rampart в AXIS2 и реализуйте управляемость упреждания
Для моего проекта Java Source одинаково, когда я использую WS-безопасность (рабочая среда) и без WS-Security (тестовая среда). Все, что мне нужно сделать на стороне клиента, чтобы включить / отключить конфигурацию Rambart из my_client/axis-repo/conf/axis2.xml
. Отказ Посмотри на: http://wso2.org/library/240. Где вы найдете пример конфигурации, которые могут быть полезны для вас:
<parameter name="OutflowSecurity">
<action>
<items>UsernameToken</items>
<user>bob</user>
<passwordCallbackClass>org.apache.rampart.
samples.sample02.PWCBHandler</passwordCallbackClass>
</action>
</parameter>
Другие советы
Прежде всего, вы должны загрузить файлы модулей Rambart в файлах модулей AXIS2. Затем загрузите библиотеку, необходимую для RAMBART в папке Lib. А затем используйте класс обработчика обратного вызова, в котором вы определяете логику для имени пользователя и пароля. Все вышеперечисленные вещи в нанесенном исходном коде в Ramart исходного кода и папке Rampart.u должны загрузить его с веб-сайта Rampart после того, как в Axis2.xml вы должны определить тег
<parameter name="InflowSecurity">
<action>
<items>UsernameToken</items>
<user>jaideep</user>
<passwordCallbackClass>com.mltvacations.externalapi.callbackhandler.PasswordCallbackHandler</passwordCallbackClass>
<passwordType>PasswordText</passwordType>
</action>
</parameter>
с в теге. Затем запустите веб-сервис и скопируйте адрес WSDL и поместите в SOAPUI, а затем добавьте заголовок аутентификации. и проверьте это.
Если какая-либо проблема, то скажите мне. Я дам вам удовлетворительный ответ, потому что я использовал безопасность Rampart.