Создание клиента WebService с использованием Apache Axis2 и Rampart

StackOverflow https://stackoverflow.com/questions/4408201

  •  08-10-2019
  •  | 
  •  

Вопрос

У нас есть требование, когда 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top