2016-10-07 1 views
0

Nous emballons notre WAR avec les services web axis2 dans/WEB-INF/services.Le gestionnaire de mot de passe n'est pas appelé lors de la mise à niveau d'Axis 1.6.2/Rampart 1.6.2 vers l'axe 1.7.2/Rampart 1.7.0

Il a été développé en utilisant Axis 1.5.1, puis mis à niveau vers l'Axis 1.6.2/Rampart 1.6.2 il y a quelques années. Nous devons maintenant passer à l'axe 1.7.2/rampart 1.7.0.

Nous ajoutons le nom d'utilisateurSécurité à nos services Web. Nous mettons également en package un exemple d'application client webservices. Les choses marchaient bien. Mais une fois que nous avons mis à niveau vers Axis 1.7.2/Rampart 1.7.0, la méthode PasswordCallBackHandler.handle n'est pas appelée. En tant que tels, nos pauses client webservices. C'est ainsi que j'ajoute le rappel de mot de passe client.axis2.xml pour ajouter le nom d'utilisateur/pwd dans la demande 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> 

Mon services.xml se présente comme suit:

<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> 

Quand je mis à jour à l'axe 1.7.2 briser les choses. Les PasswordCallBackHandlers ne sont pas appelés.

J'ai cherché Services.xml dtd mais je ne l'ai pas trouvé. Je devine que je devrais ajouter les CallBackHandlers comme RampartConfig. Y a-t-il d'autres pour résoudre le problème? Toute aide serait appréciée.

Répondre

0

J'ai réussi à résoudre le problème. Les entrées PasswordCallBackHandler dans services.xml et client.axis2.xml comme indiqué dans ma question étaient la configuration de style Apache Rampart 1.0. Ils ont travaillé avec les bibliothèques Axis 1.5.1 et Axis 1.6.2. La prise en charge de la configuration de Rampart 1.0 a été arrêtée dans Axis2 1.7.0. S'il vous plaît voir le lien suivant

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

La méthode standard qui a travaillé était de créer un fichier de stratégie et ajouter le PasswordCallBackHandler comme RampartConfig. Si quelqu'un en a besoin, je serai plus que disposé à aider.

+0

Salut @Vishwanath Je suis confronté à des problèmes de travail avec ws-trust avec wso2 http://stackoverflow.com/questions/43471342/axisfault-missing-wsseecurity-header-in-request –