Implémentation des extensions pour des clients de services Web JAX-RPC
WebSphere Application Server fournit des extensions à des clients de services Web qui utilisent le modèle de programmation JAX-RPC (Java™ API for XML-based RPC).
Pourquoi et quand exécuter cette tâche
Vous pouvez personnaliser des services Web à l'aide des extensions suivantes pour le modèle de programmation client JAX-RPC.
Procédure
- Définissez les propriétés REQUEST_SOAP_HEADERS et RESPONSE_SOAP_HEADERS dans un raccord de client JAX-RPC pour permettre à un client de services Web d'envoyer ou d'extraire des en-têtes SOAP implicites. Un en-tête SOAP implicite est un en-tête SOAP qui n'est pas explicitement défini dans le fichier WSDL. Un fichier d'en-tête SOAP implicite rentre dans l'une des descriptions suivantes :
- Partie de message déclarée en tant qu'en-tête SOAP dans la liaison du fichier WSDL, mais définition du message non référencée par un élément portType dans un fichier WSDL.
- Elément non contenu dans le fichier WSDL.
Les gestionnaires et les noeuds finaux de service peuvent manipuler des en-têtes SOAP implicites et explicites à l'aide du modèle de données SAAJ (SOAP with Attachments API for Java).
Pour savoir comment modifier votre code client en vue d'envoyer ou de récupérer des en-têtes de transport, consultez les informations sur l'envoi d'en-têtes SOAP implicites avec JAX-RPC ou la réception d'en-têtes SOAP implicites avec JAX-RPC.
- Définissez les propriétés REQUEST_TRANSPORT_PROPERTIES et RESPONSE_TRANSPORT_PROPERTIES pour activer un client de services Web pour envoyer ou récupérer des en-têtes de transport.
Définissez les propriétés sur l'objet Stub ou Call.
En modifiant votre code client pour l'envoi ou la récupération des en-têtes de transport, vous pouvez envoyer ou recevoir des informations spécifiques dans les en-têtes de transport des demandes sortantes ou des réponses entrantes provenant du serveur. Pour des demandes ou des réponses qui utilisent le transport HTTP, les informations sont envoyées ou récupérées dans un en-tête HTTP. De la même manière, pour une demande ou une réponse qui utilise le transport JMS (Java Message Service), les informations sont envoyées ou récupérées dans une propriété de message JMS.
Pour savoir comment modifier votre code client en vue d'envoyer ou de récupérer des en-têtes de transport, consultez les informations sur l'envoi d'en-têtes de transport avec JAX-RPC ou la réception d'en-têtes de transport avec JAX-RPC.
Pour savoir comment activer un client de services Web afin d'envoyer ou de récupérer des en-têtes de transport, consultez les informations sur les valeurs recommandées pour les propriétés d'en-têtes de transport.
- Implémentez la prise en charge pour des méthodes javax.xml.rpc.ServiceFactory.loadService(). Les méthodes loadService créent une instance de la classe d'implémentation du service généré d'une manière spécifique de l'implémentation. Les méthodes loadService sont nouvelles pour JAX-RPC 1.1 et comportent les signatures suivantes :
- public.javax.xml.rpc.Service loadService (Class serviceInterface)
Telle que décrite dans la spécification JAX-RPC, cette méthode renvoie l'implémentation du service généré pour l'interface de service. Pour revoir la spécification JAX-RPC, consultez la documentation sur l'API et les spécifications.
- public.javax.xml.rpc.Service loadService (URL wsdlDocumentLocation,
Class serviceInterface, Properties properties)Cette méthode se comporte comme la méthode loadService (Class serviceInterface) car les paramètres suivants ne sont pas pris en compte :
- wsdlDocumentLocation
- properties
- public.javax.xml.rpc.Service loadService (URL wsdlDocumentLocation,
QName serviceName, Properties properties)
Cette méthode renvoie l'implémentation du service généré pour le service spécifié à l'aide d'informations de mappage espace de nom-module facultatives.
- wsdlDocumentLocation - ignoré
- serviceName - QName (namespace, localpart) du service
- properties - si ce paramètre n'est pas nul, il contient des entrées de mappage
espace de nom-module. Chaque clé d'entrée Property est une chaîne correspondant à l'espace de nom. Chaque valeur d'entrée Property est une chaîne correspondant au nom de package Java.
Si l'argument Properties contient une entrée dont une clé (espace de nom) correspond à la portion namespace de l'argument QName serviceName, la valeur de l'entrée (javaPackage) est utilisée comme nom de module lorsque vous tentez de localiser l'implémentation du service.
- public.javax.xml.rpc.Service loadService (Class serviceInterface)
- Implémentez l'interface CustomBinder afin de fournir des lieurs de données personnalisés et concrets pour un type de schéma XML spécifique (applications JAX-RPC uniquement). Les lieurs de données personnalisés servent au mappage de types de schéma XML avec des objets Java. Il fournit des liaisons pour des types de schéma XML non pris en charge par l'API Java en cours pour la spécification JAX-RPC (Java API for XML-based Remote Call Procedure). WebSphere Application Server fournit une extension aux services Web du modèle de programmation Java EE (Java Platform, Enterprise Edition), appelée interface CustomBinder, et qui implémente des liaisons personnalisées pour un type de schéma XML spécifique. L'interface CustomBinder, outre ses méthodes de sérialisation et désérialisation, possède les trois propriétés suivantes :
- QName pour le type de schéma XML
- Portée QName
- Type Java
Le lieur de données personnalisé définit les méthodes de sérialisation et de désérialisation permettant d'effectuer des conversions entre un objet Java et une interface SOAPElement. Il est ajouté au système d'exécution et interagit avec le module d'exécution des services Web par le biais d'une interface SOAPElement. Les lieurs de données personnalisés sont ajoutés à l'environnement d'exécution au moyen de fournisseurs de liaison personnalisés. Pour plus d'informations, consultez les rubriques relatives aux lieurs de données personnalisés et au fournisseur de liaisons personnalisées. Pour plus d'informations sur l'implémentation de cette interface pour fournir des lieurs de données personnalisés et concrets pour un type de schéma XML spécifique, voir la documentation de l'interface CustomBinder.
Sous-rubriques
Lieurs de données personnalisés pour les applications JAX-RPC
Un lieur de données personnalisé permet de mapper les types de schéma XML avec des objets Java. Il fournit des liaisons pour des types de schéma XML non pris en charge par l'API Java en cours pour la spécification JAX-RPC (Java API for XML-based Remote Call Procedure).Fournisseurs de liaisons personnalisées pour les applications JAX-RPC
Un fournisseur de liaisons personnalisées est constitué par le regroupement des classes de lieurs de données personnalisés associées à un fichier de métadonnées déclaratif. Il a principalement pour objet de cumuler les lieurs de données personnalisés associés afin de prendre en charge des scénarios utilisateur particuliers. Le fournisseur de liaisons personnalisé permet d'associer des lieurs de données personnalisés au système d'exécution et aux outils d'émission afin que ces derniers puissent générer les artefacts appropriés et que le système d'exécution puisse augmenter son système de mappage de type existant pour prendre en compte les lieurs de données personnalisés appliqués et les appeler.Interface CustomBinder destinée aux applications JAX-RPC
WebSphere Application Server définit une interface CustomBinder que vous pouvez implémenter pour les applications JAX-RPC (Java API for XML-based Remote Call Procedure) afin de fournir des lieurs de données personnalisés et concrets pour un type de schéma XML spécifique.Modèles d'utilisation pour le déploiement de lieurs de données personnalisés d'applications JAX-RPC
Les lieurs de données personnalisés servent au mappage de types de schéma XML avec des objets Java. Ils fournissent des liaisons pour les types de schéma XML que la spécification JAX-RPC (Java API for XML-based Remote Call Procedure) actuelle ne prend pas en charge. WebSphere Application Server fournit une extension aux services Web du modèle de programmation Java EE (Java Platform, Enterprise Edition), appelée interface CustomBinder, et qui implémente des liaisons personnalisées pour un type de schéma XML spécifique. Le fournisseur du liaison personnalisé est le module des lieurs de données personnalisés importé dans l'environnement d'exécution.Envoi d'en-têtes SOAP implicites avec JAX-RPC
Vous pouvez activer un client de services Web JAX-RPC (Java API for XML-based RPC) existant pour envoyer des valeurs dans des en-têtes SOAP implicites. En modifiant le code du client pour l'envoi d'en-têtes SOAP implicites, vous pouvez envoyer des informations spécifiques dans une requête de service Web sortante.Réception d'en-têtes SOAP implicites avec JAX-RPC
Vous pouvez activer un client de services Web JAX-RPC (Java API for XML-based RPC) existant pour recevoir des valeurs à partir des en-têtes SOAP implicites. En modifiant le code du client pour la réception d'en-têtes SOAP implicites, vous pouvez recevoir des informations spécifiques dans une réponse de service Web entrante.Envoi d'en-têtes de transport avec JAX-RPC
Vous pouvez activer un client existant de services Web JAX- RPC (Java API for XML-based RPC) afin que des informations définies par l'application puissent être envoyées en même temps que vos demandes de service Web par le biais d'en-têtes de transport.Extraction d'en-têtes de transport avec JAX-RPC
Vous pouvez activer un client de services Web JAX-RPC (Java API for XML-based RPC) existant pour extraire des valeurs à partir des en-têtes de transport. Pour une demande qui utilise le protocole HTTP, les en-têtes de transport sont extraits à partir des en-têtes HTTP présents dans le message de réponse HTTP. Pour une demande qui utilise le JMS (Java Message Service), les en-têtes de transport sont extraits à partir des propriétés de message JMS présentes dans le message de réponse JMS.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_extendpm
Nom du fichier : twbs_extendpm.html