Обработчик паролей не вызывается при обновлении с Axis 1.6.2/Rampart 1.6.2 до Axis 1.7.2/Rampart 1.7.0

Мы упаковываем нашу WAR с веб-сервисами axis2 в /WEB-INF/services.

Он был разработан с использованием Axis 1.5.1, а затем обновлен до Axis 1.6.2/Rampart 1.6.2 несколько лет назад. Теперь нам нужно обновиться до Axis 1.7.2/rampart 1.7.0.

Мы добавляем usernameSecurity в наши веб-сервисы. Мы также упаковываем пример клиентского приложения веб-сервисов. Дела шли нормально. Но после обновления до Axis 1.7.2/Rampart 1.7.0 метод PasswordCallBackHandler.handle не вызывается. Таким образом, наш клиент веб-сервисов ломается. Вот как я добавляю обратный вызов пароля client.axis2.xml для добавления имени пользователя/пароля в SOAP-запрос.

<axisconfig name="AxisJava2.0">
  <module ref="rampart"/>
  <parameter name="OutflowSecurity">
  <action>
     <items>UsernameToken</items>
     <user>system</user>

     <passwordCallbackClass>com.web.ws.connector.CSPWCBHandler</passwordCallbackClass>
     <passwordType>PasswordText</passwordType>
  </action>

My services.xml looks like the following :

<service name="labware_weblims_listFunctions" targetNamespace="http://www.labware.com/webservice">
  <description>Service description for labware_weblims_listFunctions</description>
   <schema schemaNamespace="http://www.labware.com/webservice"/>
   <parameter name="ServiceClass">com.web.ws.service.ListService</parameter>
  <parameter name="disasbleREST">true</parameter>
  <operation name="listMethods">
  <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
  </operation>
  <module ref="soapmonitor"/>
  <module ref="rampart"/>
  <parameter name="InflowSecurity">
    <action>
    <items>UsernameToken</items>
     <passwordCallbackClass>com.web.ws.control.PWCBHandler</passwordCallbackClass>
    </action>
  </parameter>
</service>

Когда я обновился до Axis 1.7.2, все сломалось. Обработчики PasswordCallBackHandler не вызываются.

Я искал Services.xml dtd, но не нашел. Я предполагаю, что мне придется добавить CallBackHandlers как RampartConfig. Есть ли другие решения проблемы. Любая помощь будет оценена.


person Vishwanath Washimkar    schedule 07.10.2016    source источник


Ответы (1)


Я смог решить проблему. Записи PasswordCallBackHandler в services.xml и client.axis2.xml, указанные в моем вопросе, были конфигурацией в стиле Apache Rampart 1.0. Они работали с библиотеками Axis 1.5.1 и Axis 1.6.2. Поддержка конфигурации Rampart 1.0 прекращена в Axis2 1.7.0. См. следующую ссылку

https://axis.apache.org/axis2/java/rampart/release-notes/1.7.0.html

Стандартный способ, который работал, заключался в создании файла политики и добавлении PasswordCallBackHandler как RampartConfig . Если кому-то это нужно, я буду более чем готов помочь.

person Vishwanath Washimkar    schedule 14.10.2016
comment
Привет @Vishwanath. У меня проблемы при работе с ws-trust с wso2 stackoverflow.com/questions/43471342/ - person Mukesh Yadav; 25.04.2017
comment
Привет @Vishwanath Мне нужно настроить файл конфигурации Rampart 1.6.2, чтобы добавить подпись и двоичный токен безопасности в мыльном сообщении оси 2, вы можете мне помочь? Спасибо. - person Alejandro L.; 25.08.2020
comment
извините за поздний ответ .. я был не в лучшем состоянии .. Если вам все еще нужна помощь .. я вам помогу . - person Vishwanath Washimkar; 29.09.2020
comment
@VishwanathWashimkar, не могли бы вы добавить несколько шагов для перехода с вала 1.6 на вал 1.7.1? - person user_3093890; 19.01.2021
comment
обязательно сделаю это в ближайшее время - person Vishwanath Washimkar; 22.01.2021