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 :
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);