Bonne utilisation de Juddi v3

Un forum dédié aux autres projets de l'Apache Software Foundation.

Modérateur : Modérateurs

andlio
Nouveau membre
Messages : 1
Inscription : jeu. 15 nov. 2012, 9:35

Bonne utilisation de Juddi v3

Messagepar andlio » jeu. 15 nov. 2012, 15:51

Bonjour à tous,

Ça fait maintenant 2 jours et demi que je me casse les dents sur Juddi, c'est pourquoi je sollicite votre aide.
Voici le contexte : je développe une application web Java/J2ee sous JBoss AS 7. Je souhaite exposer des services et les publier sur un annuaire UDDI (jUDDI).

Il y a donc 2 aspects : déploiement d'un serveur Juddi sous JBoss AS 7, et intégration du client Juddi dans l'application web pour publier les services.

Tout d'abord le serveur.
La doc dispo sur le site décrit le déploiement de juddi sur JBoss 6. Or entre la version 6 et la 7 (que j'utilise) il y a eu pas mal d'évolution à priori. N'étant pas un crac en matière d'administration, savez-vous s'il est possible de trouver une doc pour déployer Juddi sous JBoss AS 7.

Ensuite le client.
Pour simplifier les choses, j'ai utilisé le bundle "juddi-portal-bundle-3.13" pour avoir un serveur Juddi prêt à l'emploi.
D'après ce que j'ai compris de la doc, il y a plusieurs manières de publier un service sur un annuaire Juddi : programmatiquement en utilisant l'API, ou bien par annotations (solution que j'ai choisi).
Toujours d'après ce que j'ai compris, il y a 3 étapes :
  • importer les jar "juddi-client-3.1.3.jar" et "uddi-ws-3.1.3.jar"
  • annoter la classe qui contient le service à publier
  • créer le fichier uddi.xml (dans le META-INF)
Une fois que ces étapes sont Ok, il suffit de déployer l'application et de démarrer JBoss pour que le client Juddi publie automatiquement les services annotés dans l'application. Déjà est-ce correct ??

Mon problème c'est que les services ne sont pas publiés, mais que je n'ai pas d'erreur ni même aucune trace dans les logs de démarrage. Normal ?

Voici ma classe annotée :

Code : Tout sélectionner

@Stateless
@UDDIService(
   businessKey="uddi:${keyDomain}:business",
   serviceKey="uddi:${keyDomain}:testService",
   description="Service Hello"
)
@UDDIServiceBinding(
   bindingKey="uddi:${keyDomain}:testService",
   description="test webservice",
   accessPointType="wsdlDeployment",
   accessPoint="${serverName}:${serverPort}/juddiv3/services/testService?wsdl"
)
@WebService( 
   endpointInterface = "my.domain.common.server.com.EJBWS_Interface", 
   serviceName = "EJBWS"
)
public class EJBWS implements EJBWS_Interface {
   
   @Override
   public String hello()
   {
      return "Hello";
   }
}

Voici le fichier uddi.xml :

Code : Tout sélectionner

<?xml version="1.0" encoding="ISO-8859-1" ?>
<uddi>
   <reloadDelay>5000</reloadDelay>
   <manager name="myManager">
      <nodes>
         <node>
            <name>default</name>
            <description>Main node</description>
            <properties>
               <property name="serverName" value="localhost"/>
               <property name="serverPort" value="8082"/>
               <property name="keyDomain" value="my.domain.fr"/>
            </properties>
            
            <proxyTransport>
               org.apache.juddi.v3.client.transport.InVMTransport
            </proxyTransport>
            <custodyTransferUrl>
               org.apache.juddi.api.impl.UDDICustodyTransferImpl
            </custodyTransferUrl>
            <inquiryUrl>org.apache.juddi.api.impl.UDDIInquiryImpl</inquiryUrl>
            <publishUrl>org.apache.juddi.api.impl.UDDIPublicationImpl</publishUrl>
            <securityUrl>org.apache.juddi.api.impl.UDDISecurityImpl</securityUrl>
            <subscriptionUrl>
               org.apache.juddi.api.impl.UDDISubscriptionImpl
            </subscriptionUrl>
            <subscriptionListenerUrl>
               org.apache.juddi.api.impl.UDDISubscriptionListenerImpl
            </subscriptionListenerUrl>
            <juddiApiUrl>org.apache.juddi.api.impl.JUDDIApiImpl</juddiApiUrl>
         </node>
      </nodes>
      <clerks registerOnStartup="true"> 
         <clerk name="myClerk" node="default" publisher="root"> 
            <class>my.domain.common.server.com.EJBWS</class>
         </clerk> 
      </clerks>
   </manager>
</uddi>


Merci d'avance pour votre aide.

Lionel.

Revenir vers « Projets d'apache.org »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités