Vue d'ensemble d'un client Web Services

En général, les services Web utilisent un protocole SOAP sur HTTP. Dans ce scénario, les enveloppes SOAP sont envoyées. Lorsque les collections et les autres objets complexes sont regroupés dans des enveloppes SOAP, vous pouvez avoir des difficultés à lire et à modifier les structures de données ASCII. Les développeurs débutants ne doivent pas essayer de créer un client Web Services en manipulant directement les enveloppes SOAP. En général, les développeurs confirmés ne procèdent pas de cette façon, car cette opération est fastidieuse et susceptible d'engendrer des erreurs. C'est pour cette raison que tous les principaux langages de programmation proposent des kits de développement Web Services. Dans Silk Central, l'API Java API for XML Web Services (JAX-WS) permet de créer des services Web et des clients communiquant à l'aide de messages SOAP.

Quel que soit le langage de programmation (Java, C++, C#, Perl ou Python), la procédure de création des clients Web Services est généralement la même :

  1. Pointer un kit de développement sur le WSDL Web Services
  2. Obtenir l'élément de remplacement d'un client en retour
  3. Modifier l'élément de remplacement du client généré à l'étape 2 pour obtenir un client à part entière
C'est le cas pour JAX-WS. L'outil wsimport (fourni avec le JDK) sert à créer les éléments de remplacement du client à partir de WSDL.Vous trouverez des informations détaillées sur le mode d'utilisation de l'outil wsimport dans la Documentation des outils et utilitaires JDK. A brief description of the switches used in the above summary is as follows:
  • -s : répertoire de sortie des éléments de remplacement du client
  • -p : Package cible. Déploiement sur cette structure de package

Exemple : wsimport -s <emplacement des éléments de remplacement générés> -p <package cible> <WSDL>

L'outil wsimport génère plusieurs classes pour garantir la prise en charge d'un client avec le service Web. Si YourWebService est le nom du service, les classes ci-dessous sont générées :

Pour générer un client JAX-WS pour l'accès aux services Web Silk Central, créez une classe Java appelée YourWebServiceClient. Vous avez établi une liaison au service Web via un port ; un port est un objet local assurant une fonction de proxy pour le service distant. Notez que le port est créé par l'exécution de l'outil wsimport dans l'étape ci-dessus. Pour récupérer ce proxy, appelez la méthode getRequirementsServicePort sur le service :

// Bind to the Requirements service
  RequirementsServiceService port = new RequirementsServiceService
    (new URL("http", mHost, mPort, "/Services1.0/jaxws/requirements?wsdl"));
  RequirementsService requirementsService = port.getRequirementsServicePort();

Pour vous authentifier auprès des services Web, générez un jeton de service Web dans la page Paramètres utilisateur de l'interface utilisateur de Silk Central. Pour accéder à cette page, passez le curseur de la souris sur le nom d'utilisateur dans le menu Silk Central et sélectionnez Paramètres utilisateur.

Vous pouvez également appeler la méthode du service logonUser en transférant un nom d'utilisateur et un mot de passe afin d'obtenir un ID de session :

// Login to Silk Central and get session ID
  String sessionId = requirementsService.logonUser(mUsername, mPassword);