Lecture d'une réponse SOAP complète. Résumé. 4D Notes techniques. Par David ADAMS Note technique 4D FR Version 1 Date 1 Août 2004

Documents pareils
Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Optimisation de 4D Server et 4D Web Server. Résumé. 4D Notes techniques

4e Dimension Clés XML Backup. Windows /Mac OS 4e Dimension D SA. Tous droits réservés.

MailStore Server 7 Caractéristiques techniques

Demande d assistance : ecentral.graphics.kodak.com. Variable Data Print est désormais une option sous licence de InSite Storefront 6.0.

Demande d'assistance : ecentral.graphics.kodak.com

creo elements/pro creo elements/direct creo elements/view

Configuration du nouveau Bureau Virtuel (BV) collaboratif de Lyon I

iproof-x & LF Guide de l Utilisateur pour Imprimantes à Jet d encre Epson

Nokia Internet Modem Guide de l utilisateur

ECHANGE DE DONNÉES ENTRE APPLICATIONS 4D Etude historique et comparative des techniques de transfert de données avec 4D v11 SQL

Comment générer un fichier PDF de qualité et certifié imprimable?

Manuel d utilisation du logiciel de messagerie personnelle Palm VersaMail 2.5

MANUEL D INSTALLATION

API SMS CONSEIL HTTP V2.01. Sommaire. Documentation V1.0 au 21/05/2011

McAfee Data Loss Prevention Endpoint 9.4.0

4D v11 SQL. Mise à jour Windows /Mac OS. 4D D SAS. Tous droits réservés.

Logiciel (Système d impression directe)

«Clustering» et «Load balancing» avec Zope et ZEO

VM Card. Manuel des paramètres des fonctions étendues pour le Web. Manuel utilisateur

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

Manuel d utilisation. Logiciel (Device Monitor) Pour les systèmes d imagerie numérique. Configuration requise Description générale

Description de Produit Logiciel. AMI News Monitor v2.0. SPD-AMINM-10 v1.0

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Single User. Guide d Installation

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date :

Manuel d utilisation Logiciel (Communications Utility)

Garantir la sécurité de vos solutions de BI mobile

Optimisez votre solution CRM avec les modules optionnels d update.crm : Profitez de nos innovations technologiques

Pré-requis techniques

Gestion de données avec les bibliothèques Final Cut Pro X. Livre blanc Juin 2014

Point sur les solutions de développement d apps pour les périphériques mobiles

Introduction aux «Services Web»

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Contrôle Parental Numericable. Guide d installation et d utilisation

Tropimed Guide d'installation

ORACLE TUNING PACK 11G

Import PDF. Manuel d'utilisation

Systèmes d'informations historique et mutations

Pré-requis techniques. Yourcegid Secteur Public On Demand Channel

A lire en premier lieu

Procédure Platine Exchange 2010 Accompagnement à la migration de votre compte 09/08/ Version 1.0 Hébergement web professionnel

Service d information pour remise de paiement de factures Scotia


E.N.T. Espace Numérique de Travail

Version 2.0 Avril P Administrateur Xerox Mobile Print Cloud Guide d utilisation et de dépannage pour l administrateur

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13

CAHIER DES CLAUSES TECHNIQUES

Comment lire ce manuel

LES SOLUTIONS DE CONNECTIVITÉ 4D

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

Votre référentiel documentaire. STS.net Solution de gestion et de conservation des actifs documentaires de l entreprise

IPS-Firewalls NETASQ SPNEGO

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

Fiche technique Services d image et d application HP

Blueprint OneWorld v8.2a Configuration Recommandée

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Leica Geosystems Licences des logiciels Introduction & Installation

Manuel d'utilisation de Mémo vocal

Hébergement de sites Web

Les cahiers pratiques de Anonymat.org. SocksCap32. Edition du 20 Octobre 2000

DÉCLARATION ET DEMANDE D'AUTORISATION D OPÉRATIONS RELATIVES A UN MOYEN DE CRYPTOLOGIE

Guide d utilisation. Version 1.1

Guide de prise en main Symantec Protection Center 2.1

Avertissement. La Gestion Electronique de Documents

Logiciel Enterprise Guide Version 1.3 Windows

GUIDE D'INSTALLATION DU LOGICIEL

DEMANDE D INFORMATION RFI (Request for information)

Plan. Présentation du logiciel Sympa Architecture La gestion des hôtes virtuels Listes avec inclusion des abonnés Les modules d authentification

25 septembre Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national

Architectures web/bases de données

Mise à jour du logiciel de vidéo de Polycom

Notes de mise à jour. 4D v11 SQL Release 2 (11.2) Notes de mise à jour

SQL SERVER PRECONISATIONS A L INSTALLATION.2 VERIFICATION INSTALLATION...2 CONNEXION RESEAU.4 EMPLACEMENTS DOSSIERS & SAUVEGARDES...

Altiris Helpdesk Solution 6.0 SP4 - Aide

Système Principal (hôte) 2008 Enterprise x64

Déploiement de l iphone et de l ipad Gestion des appareils mobiles (MDM)

Formation. Module WEB 4.1. Support de cours

Manuel d'utilisation Logiciel (Network TWAIN Driver)

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Guide de l'administrateur Symantec NetBackup for Microsoft SharePoint Server

Module http MMS AllMySMS.com Manuel d intégration

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Manuel de I utilisateur. PrintShop Mail Version Logiciel de publipostage professionnel pour Apple Macintosh

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Accès instantané aux mots et aux locutions Le dictionnaire électronique offre une traduction rapide d'un mot ou d'une locution

Contrôle Parental Numericable. Guide d installation et d utilisation

Artica Proxy Appliance Haute disponibilite

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

RCS : Rich Communication Suite. EFORT

Manuel d'impression réseau

PrintShop Mail Logiciel de mailing professionnel pour Macintosh et Windows

WebSpy Analyzer Giga 2.1 Guide de démarrage

Transcription:

Lecture d'une réponse SOAP complète Par David ADAMS Note technique 4D-200408-22-FR Version 1 Date 1 Août 2004 Résumé 4ème Dimension version 2003 et ultérieures propose en natif la construction de clients de Services Web. Les appels à une méthode de Service Web génèrent des messages SOAP (Simple Object Access Protocol) envoyés via HTTP à un programme compatible SOAP. Le service Web distant peut être écrit en.net, Java, 4ème Dimension, ou quasiment n importe quel langage ou environnement de programmation contemporain. En interne, les messages SOAP suivent des règles strictes de formatage XML et d encodage des données. Ces règles sont définies par une série de standards interdépendants. Par défaut, le système de client de Services Web de 4ème Dimension gère toute la complexité de l analyse, de la navigation et de la conversion de valeurs entre XML et les types natifs de 4ème Dimension. 4D Notes techniques Copyright 1985-2004 4D SA - Tous droits réservés Tous les efforts ont été faits pour que le contenu de cette note technique présente le maximum de fiabilité possible. Néanmoins, les différents éléments composant cette note technique, et le cas échéant, le code, sont fournis sans garantie d'aucune sorte. L'auteur et 4D S.A. déclinent donc toute responsabilité quant à l'utilisation qui pourrait être faite de ces éléments, tant à l'égard de leurs utilisateurs que des tiers. Les informations contenues dans ce document peuvent faire l'objet de modifications sans préavis et ne sauraient en aucune manière engager 4D SA. La fourniture dulogiciel décrit dans ce document est régie par un octroi de licence dont les termes sont précisés par ailleurs dans la licence électronique figurant sur le support du Logiciel et de la Documentation afférente. Le logiciel et sa documentation ne peuvent être utilisés, copiés ou reproduits sur quelque support que ce soit et de quelque manière que ce soit, que conformément aux termes de cette licence. Aucune partie de ce document ne peut être reproduite ourecopiée de quelque manière que ce soit, électronique ou mécanique, y compris par photocopie, enregistrement, archivage outout autre procédé de stockage, de traitement et de récupération d'informations, pour d'autres buts que l'usage personnel de l'acheteur, et ce exclusivement aux conditions contractuelles, sans la permission explicite de 4D SA. 4D, 4D Calc, 4D Draw, 4D Write, 4D Insider, 4ème Dimension, 4D Server, 4D Compiler ainsi que les logos 4e Dimension, sont des marques enregistrées de 4D SA. Windows,Windows NT,Win 32s et Microsoft sont des marques enregistrées de Microsoft Corporation. Apple, Macintosh, Power Macintosh, LaserWriter, ImageWriter, QuickTime sont des marques enregistrées ou des noms commerciaux de Apple Computer,Inc. Mac2Win Software Copyright 1990-2002 est un produit de Altura Software,Inc. 4D Write contient des éléments de "MacLink Plus file translation", un produit de DataViz, Inc,55 Corporate drive,trumbull,ct,usa. XTND Copyright 1992-2002 4D SA. Tous droits réservés. XTND Technology Copyright 1989-2002 Claris Corporation.. Tous droits réservés ACROBAT Copyright 1987-2002, Secret Commercial Adobe Systems Inc.Tous droits réservés. ACROBAT est une marque enregistrée d'adobe Systems Inc. 1 / 6

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs. 2 / 6

Lecture d'une réponse SOAP complète Résumé 4 ème Dimension version 2003 et ultérieures propose en natif la construction de clients de Service Web. Les appels à une méthode de Service Web génèrent des messages SOAP (Simple Object Access Protocol) envoyés via HTTP à un programme compatible SOAP. Le service Web distant peut être écrit en.net, Java, 4 ème Dimension, ou quasiment n importe quel langage ou environnement de programmation contemporain. En interne, les messages SOAP suivent des règles strictes de formatage XML et d encodage des données. Ces règles sont définies par une série de standards interdépendants. Par défaut, le système de client de Service Web de 4 ème Dimension gère toute la complexité de l analyse, de la navigation et de la conversion de valeurs entre XML et les types natifs de 4 ème Dimension. Il existe cependant des cas où les développeurs désirent ou préfèrent lire les réponses SOAP directement, entre autres : Pour déboguer les échanges SOAP ; Pour lire des paramètres de sortie SOAP non liés directement à des paramètres, variables ou tableaux de 4 ème Dimension ; Pour analyser directement les réponses à l aide des commandes d analyse XML natives ou de celles d un parseur XML externe ; Pour en savoir plus sur la structure et les contenus des réponses SOAP ; Pour acquérir une meilleure compréhension du fonctionnement du client SOAP de 4 ème Dimension. Heureusement, il est possible de lire de manière brute les réponses SOAP entrantes en utilisant le paramètre typecomposé lors de l appel à la commande APPELER WEB SERVICE. Cette note technique traite de la capture et de l extraction de valeurs à partir des réponses SOAP brutes. Exemple de méthode proxy SOAP Le code ci-dessous correspond à une méthode proxy SOAP appelant un service Web qui retourne trois valeurs (des retours à la ligne ont été rajoutés pour plus de clarté) : C_ENTIER LONG(proxy_longint) C_REEL(proxy_real) C_TEXTE(proxy_text) ` NOTE ` http://127.0.0.1:8080/ signifie "appelle cette methode sur cette machine sur le `port 8080". ` Mettez à jour si nécessaire cette URl dans votre contexte. APPELER WEB SERVICE("http://127.0.0.1:8080/4DSOAP/";"A_WebService#returnThreeResults"; "returnthreeresults";"http://www.4d.com/namespace/default";web Service dynamique ) Si (OK=1) LIRE RESULTAT WEB SERVICE(proxy_longint;"outSecondsSinceMidnight") LIRE RESULTAT WEB SERVICE(proxy_real;"outPi") 3 / 6

LIRE RESULTAT WEB SERVICE(proxy_text;"outServerVersion";*) ` Libération de la mémoire. Fin de si Le paramètre Web Service Dynamique Comme vous le constatez, APPELER WEB SERVICE est configurée pour utiliser le système Web Service dynamique. Dans ce cas, la réponse SOAP est automatiquement analysée en interne et de manière transparente par 4 ème Dimension. Les valeurs de la réponse peuvent être relues à l aide d appel à LIRE RESULTAT WEB SERVICE, comme dans les trois exemples d appels ci-dessus. La structure XML ci-dessous correspond à l intégralité du corps du message de la réponse SOAP. Les valeurs accessibles par le système automatique sont soulignées : <ns1:returnthreeresultsresponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://www.4d.com/namespace/default"> <outsecondssincemidnight xsi:type="xsd:float">40174</outsecondssincemidnight> <outpi xsi:type="xsd:float">3.141592653589793116</outpi> <outserverversion xsi:type="xsd:string">version #0703</outServerVersion> </ns1:returnthreeresultsresponse> Le paramètre Web Service Manuel La méthode proxy reproduite ci-dessus peut être réécrite afin de récupérer la structure XML complète dans un BLOB, comme dans le code ci-dessous (des retours à la ligne ont été rajoutés pour plus de clarté) : ` NOTE ` http://127.0.0.1:8080/ signifie "appelle cette methode sur cette machine sur le `port 8080". ` Mettez à jour si nécessaire cette URl dans votre contexte. APPELER WEB SERVICE("http://127.0.0.1:8080/4DSOAP/";"A_WebService#returnThreeResults"; "returnthreeresults";"http://www.4d.com/namespace/default";web Service sortie manuel ) Si (OK=1) C_BLOB(proxy_fullResponse_blob) LIRE RESULTAT WEB SERVICE(proxy_fullResponse_blob;*) ` Libération de la mémoire. C_TEXTE(proxy_fullResponse_text) ` Recopie dans une variable texte pour l'affichage. proxy_fullresponse_text:=blob vers texte(proxy_fullresponse_blob;texte sans longueur ) Fin de si Le BLOB résultant comprend l intégralité du corps du message SOAP listé plus haut. Cette structure XML peut être copiée dans un texte, si elle ne dépasse pas 32 000 caractères, ou analysée par la commande Analyser variable XML. Lire les valeurs XML 4 / 6

Lire de l XML brut n est guère attrayant. Heureusement, les commandes XML natives ou externes simplifient le processus de travail avec XML. La note technique "4D-200407-20-FR : Le composant XML_Utilities" procure du code pour lire les valeurs d éléments par nom. Par exemple, le code ci-dessous montre comment lire les trois valeurs contenues dans la structure XML précédente en utilisant la fonction xutil_getvalue du composant XML_Utilities. C_ALPHA(16;$xmlref) $xmlref:=analyser variable XML(proxy_fullResponse_blob) proxy_longint:=num(xutil_getvalue ($xmlref;"outsecondssincemidnight")) proxy_real:=num(xutil_getvalue ($xmlref;"outpi")) proxy_text:=xutil_getvalue ($xmlref;"outserverversion") FERMER XML($xmlref) `Fermer l'arbre XML et libère la mémoire occupée Avantages Les avantages de la lecture des réponses complètes méritent d être explicités : Lors du déboguage des échanges SOAP, il est plus facile de localiser les problèmes en regardant l XML brut. Par exemple, il est plus facile de voir si le serveur SOAP a renommé, ajouté ou supprimé des éléments depuis que le code du client SOAP a été généré. Pour des informations complémentaires sur la manière de capturer et examiner les messages SOAP, reportez-vous à l'ouvrage "4D Web Companion", à la note technique "4D-200407-21-FR : Lecture d une requête SOAP complète» ou à la note technique"4d-200308-22-fr : Détecter et suivre un problème TCP/IP ". La lecture manuelle des valeurs XML permet aux méthodes de client SOAP de relire des valeurs que 4 ème Dimension ne sait pas lier automatiquement à ses paramètres, variables ou tableaux. Cette approche est pertinente lorsque, par exemple, le serveur SOAP retourne différents éléments lors de différentes situations. LIRE RESULTAT WEB SERVICE, pour un élément qui n est pas présent dans la réponse courante, génère une erreur qui demande à être capturée et gérée. La lecture XML par du code personnalisée, comme les méthodes du composant XML_Utilities, ne provoque pas d erreurs lorsque des éléments ne sont pas retrouvés. Si un système inclut du code d analyse XML, il peut être plus simple et efficace de gérer les réponses avec le même code. Comme toujours, les avantages de ré-utilisation des fonctionnalités consistent dans la simplification du test, de la documentation, des améliorations et de la mise au point du code partagé. 4 ème Dimension accomplit un travail remarquable afin d épargner aux développeurs les détails de SOAP et XML. Cependant, lorsque vous travaillez et déboguez avec d autres environnements, il se révèle utile d en savoir plus sur la structure et le contenu des réponses SOAP. Expérimenter l option manuelle amène le développeur à une meilleure compréhension des caractéristiques 5 / 6

du client SOAP de 4 ème Dimension. Cela lui permet un jugement en connaissance de cause lors du choix de l approche de la construction de clients SOAP. Notes et limitations Quelques limitations de la technique décrite dans cette note méritent d être soulignées : L option Web Service sortie manuel retourne le corps entier du message SOAP, mais ne retourne pas l intégralité du message SOAP. En particulier, les entêtes éventuelles SOAP ne sont pas accessibles en 4D 2003 4 ème Dimension envoie des requêtes et lit des réponses SOAP via HTTP, le protocole du Web. Aucun entête HTTP contenu dans la réponse SOAP du serveur SOAP, y compris les cookies et les valeurs du code status, ne peut être relue. Si le serveur SOAP retourne une faute SOAP au lieu d une réponse comprenant des valeurs, APPELER WEB SERVICE ne retourne aucun résultat. 6 / 6