Configuration du module Web WebServicesRouter

HCL Commerce L'espace de travail Developer contient un projet intitulé WebServicesRouter. Ce projet est destiné à définir tous les services Web fournis par votre instance HCL Commerce, c'est-à-dire qu'il contiendra tous les fichiers WSDL, XML et fichiers de configuration requis pour définir la logique métier devant être disponible sous forme de services Web. Vous devez utiliser ce projet pour définir de nouveaux services, mettre à jour des services existants ou pour toute autre tâche de développement de service Web.

Mappage d'URI

Pour des raisons de sécurité, les services Web sont associés par défaut à l'hôte virtuel des outils (port 8000) sur le serveur HCL Commerce, étant donné que ce port est sécurisé (accès SSL uniquement). HCL Commerce Developer opère sur tous les ports activés HCL Commerce. Les services Web peuvent contenir des données sensibles et l'allocation du port 80 à ces services dans un environnement de production implique un risque significatif.

Le module Web WebServicesRouter est mappé à la racine de contexte /webapp/wcs. Le contexte d'exécution des services Web ajoute le suffixe /services/ port type pour composer l'URI complet. Le type de port est défini dans le document WSDL où le service Web est déclaré.

Agencement du projet

La figure suivante illustre l'agencement des répertoires du projet WebServicesRouter :

Capture d'écran de l'agencement des répertoires du projet WebServicesRouter décrit dans la table ci-après.

Fichiers de configuration

Fichiers de configuration utilisés dans le développement de services Web
Fichier Description
*.wsdl Ce fichier définit le service de composant et toutes les opérations qu'il propose. Il s'agit du fichier qui sera exposé aux clients du service Web en tant que définition des services offerts et de la structure d'objet métier attendue par le service.
*.xsd Ce fichier déclare le schéma XML d'un objet utilisé dans une opération de service. Toute modification de cet objet, comme l'ajout de nouveaux paramètres, requiert la mise à jour de ce fichier.
*_mapping.xml Il s'agit du mappage JAX-RPC requis par le moteur de service Web de WebSphere Application Server. Ce fichier définit les représentations Java de tous les objets et opérations définis dans la description WSDL. Etant donné que la structure de service HCL Commerce définit un seul nœud final générique, ce fichier mappe les objets et opérations avec des éléments SOAP et délègue l'exécution au nœud final générique unique.
webservices.xml Ce fichier est utilisé par le moteur de service Web de WebSphere Application Server pour mapper des fichiers WSDL aux fichiers de mappage JAX-RPC appropriés. Il définit également le noeud final auquel déléguer l'exécution des services. Sous la structure de service Web de HCL Commerce, il s'agit toujours du nœud générique unique représenté par l'interface com.ibm.commerce.webservices.OpenWebServicePortType. Cependant, un nouveau mappage WSDL à JAX-RPC doit être ajouté à ce fichier pour chaque nouveau service défini.
web.xml Ce fichier est requis pour accepter des requêtes de service Web via HTTP. Il déclare les servlets à utiliser pour accepter et déléguer les requêtes de service Web. Ce fichier ne devrait pas nécessiter de mises à jour.
ibm-webservices-ext.xmi Ce fichier d'extension de service Web WebSphere est utilisé pour spécifier les paramètres de sécurité des services Web. Il contient les liaisons entre les noms de services et les types de port ou les noms de servlets.
ibm-webservices-bnd.xmi Ce fichier mappe les services Web aux programmes d'écoute de transport détectés dans le projet WebServicesRouter. En cas de nouveaux services, de nouveaux mappages sont requis.

Ci-dessous figure un récapitulatif des modifications de configuration associées aux tâches usuelles de développement de service :

  • La création d'un service nécessite la création d'un nouveau fichier WSDL et d'un nouveau mappage JAX-RPC, ainsi que la mise à jour des fichiers mentionnés dans le tableau précédent.
  • L'ajout d'une opération à un service existant ou la modification d'une opération requiert la modification des fichiers WSDL et des fichiers de mappage JAX-RPC appropriés.
  • L'ajout d'un nouveau paramètre à un objet utilisé dans une opération de service requiert la mise à jour du fichier de schéma XML de cet objet.