2010-12-10 45 views
3

Nous avons besoin d'un service Web avec sécurité de jeton de nom d'utilisateur dans IBM Websphere Integration Developer 6.1. Maintenant, pour tester cela, nous devons développer un client de service Web en Java. L'exigence est d'obtenir ceci en utilisant Apache Axis2. Après avoir beaucoup lu sur ce sujet, j'ai pu utiliser Axis2 pour générer un client pour un simple Web Service qui ne nécessite pas d'authentification et j'ai pu le tester correctement. Mais j'ai fini par savoir que pour utiliser UserName token Security avec axis2, rampart est nécessaire.Création de WebService Client à l'aide d'Apache Axis2 et Rampart

Maintenant, j'ai besoin de savoir comment utiliser Rampart avec Axis2 dans Eclipse. Nous n'avons pas de serveur Apache installé dans nos systèmes, mais nous le déployons dans Eclipse. Même après avoir lu beaucoup d'articles sur le même sujet, je n'ai pas réussi à faire fonctionner Rampart.

Quelqu'un peut-il me guider à travers les étapes de la configuration de Rampart dans eclipse et comment l'utiliser pour la génération de client WebService en utilisant le jeton UserName?

Jusqu'à présent, en utilisant Axis2, je faisais les étapes suivantes. 1. Créez un projet Java et importez-y les WSDL requis. 2. En utilisant les WSDL, je crée WebServiceClient et les types de fichiers suivants sont générés a. Un fichier d'interface java b. Un fichier Java Proxy qui implémente l'interface mentionnée dans a. c. Un fichier de raccord java qui étend org.apache.axis.client.Stub et implémente l'interface mentionnée dans a. d. Un fichier Java Service qui est à nouveau une interface e. Un fichier java ServiceLocator qui implémente l'interface ci-dessus. Donc, j'ai aussi besoin de savoir comment je peux utiliser ces fichiers pour tester le service Web Token Username. Lorsque je fais ce qui précède en utilisant un projet Dynamic Web et que je fais un clic droit sur les WSDL et que je clique sur générer un client, un fichier ServiceCallBackHandler.java et un fichier HttpSrviceStub sont créés. Comment puis-je les utiliser pour réaliser les tests?

Merci.

Répondre

2

Je n'ai pas utilisé de rempart pour les jetons de nom d'utilisateur, mais pour mes services (signature et cryptage), la documentation IBM m'a vraiment été utile. Regardez: http://www.ibm.com/developerworks/java/library/j-jws4/Services Web Java: Principes de base d'Axis2 WS-Security; Voir comment installer Rampart dans Axis2 et implémenter la gestion UsernameToken

Pour mon projet, la source Java est la même lorsque j'utilise WS-Security (environnement de travail) et sans WS-Security (environnement de test). Tout ce que j'ai à faire côté client c'est d'activer/désactiver la configuration du rempart de my_client/axis-repo/conf/axis2.xml. Jetez un oeil à: http://wso2.org/library/240 où vous trouverez l'exemple de configuration qui peut être utile pour vous:

<parameter name="OutflowSecurity"> 
     <action> 
       <items>UsernameToken</items> 
       <user>bob</user> 
       <passwordCallbackClass>org.apache.rampart. 
       samples.sample02.PWCBHandler</passwordCallbackClass> 
     </action> 
</parameter> 
+0

Salut, merci pour l'info. ira à travers les liens et reviendra à vous. – Aditya

+0

Salut Michael, votre suggestion est ce que j'ai utilisé dans mon axis2.xml et cela a fonctionné !! le seul changement que j'ai fait est que puisque je n'utilise pas un mot de passe Handler Class, j'ai remplacé ce tag par le tag et j'ai saisi directement le mot de passe. A travaillé pour moi. Merci un million pour votre suggestion. :) – Aditya

+0

Pas de problème! Vous pouvez accepter ma réponse afin qu'elle ne soit pas listée comme sans réponse et nous marquons plus de "points". –

1

d'abord u doivent charger des fichiers de modules de rampart dans les fichiers de modules de axe2. Ensuite, chargez la bibliothèque requise pour rampart dans le dossier lib. puis utilisez une classe de gestionnaire de rappel dans laquelle vous avez défini la logique du nom d'utilisateur et du mot de passe. Toutes les choses ci-dessus dans vailable dans le code source de Ramart et rampart folder.u doivent le télécharger à partir du site web Après rampart puis dans axis2.xml u doivent définir tag

<parameter name="InflowSecurity"> 
    <action> 
    <items>UsernameToken</items> 
    <user>jaideep</user> 
    <passwordCallbackClass>com.mltvacations.externalapi.callbackhandler.PasswordCallbackHandler</passwordCallbackClass> 
    <passwordType>PasswordText</passwordType> 


    </action> 
</parameter> 

avec dans la balise .puis exécutez le service Web et copiez l'adresse de wsdl et placez-le dans soapUi, puis ajoutez l'en-tête d'authentification. et vérifiez-le.

En cas de problème, dites-le moi. Je vous donnerai une réponse satisfaisante car j'ai utilisé la sécurité du rempart.