Lecture d'une réponse SOAP complète

Documents pareils
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.

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

Guide de connexion Wi-Fi sur un hotspot ADP Télécom

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

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

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

Formation en Logiciels Libres. Fiche d inscription

Bee Ware. Cible de Sécurité CSPN. Validation Fonctionnelle Validation Fonctionnelle Bon pour application AMOA BEEWARE BEEWARE

Connexion à SQL server

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

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

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

MailStore Server 7 Caractéristiques techniques

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

Configurer ma Livebox Pro pour utiliser un serveur VPN

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

Administration Centrale : Opérations

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Configuration du WiFi à l'ensmm

Guide d installation

Le serveur communication unifiée IceWarp. Guide de mise à jour. Version 10. Février IceWarp France / DARNIS Informatique

Nokia Internet Modem Guide de l utilisateur

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

avast! EP: Installer avast! Small Office Administration

Couche application. La couche application est la plus élevée du modèle de référence.

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

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

Présentation de la solution Open Source «Vulture» Version 2.0

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

Nagios 3 pour la supervision et la métrologie

Systèmes d'informations historique et mutations

Figure 1a. Réseau intranet avec pare feu et NAT.

Se débarrasser des s indésirables

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

Groupe Eyrolles, 2004, ISBN :

CS REMOTE CARE - WEBDAV

Analyse de performance, monitoring

Mandataires, caches et filtres

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Clément Prudhomme, Emilie Lenel

IPS-Firewalls NETASQ SPNEGO

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Annexe 5. Kaspersky Security For SharePoint Servers. Consulting Team

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Vulnérabilités et sécurisation des applications Web

GUIDE D'INSTALLATION DU LOGICIEL

Manuel d intégration API SOAP SMS ALLMYSMS.COM

GESLAB_Pre-Requis_v2.0.doc 01/03/2013. Pré-Requis

AIDE ENTREPRISE SIS-ePP Plateforme de dématérialisation des marchés publics

GENERALITES. COURS TCP/IP Niveau 1

OuverTure et INTégrATION

SIP A. Aoun - La Visioconférence SIP - 1

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

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

18 TCP Les protocoles de domaines d applications

Application Web et J2EE

Introduction à. Oracle Application Express

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

Livret 1 Poste de travail de l utilisateur :

Stockage du fichier dans une table mysql:

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

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

Notes de mise à jour. 4D v11 SQL Release 3 (11.3) Notes de mise à jour

Plateforme PAYZEN. Définition de Web-services

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Introduction aux «Services Web»

Mettre en place un accès sécurisé à travers Internet

Formation. Module WEB 4.1. Support de cours

Le Protocole DHCP. Module détaillé

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

ANNEXE 2 DESCRIPTION DU CONTENU DE L OFFRE BUSINESS INFORMATION AND ANALYSIS PACKAGE

Installation de Bâtiment en version réseau

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Paiement sécurisé sur Internet

Procédure d utilisation et de paramétrage (filtrage) avec IPFIRE

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

Création d une connexion VPN dans Windows XP pour accéder au réseau local de l UQO. Document préparé par le Service des technologies de l information

Comment utiliser mon compte alumni?

Développement des Systèmes d Information

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

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR ORDINATEURS DE BUREAU ET PORTABLES WINDOWS ÉDITION PROFESSIONNELLE MANUEL D UTILISATION

Tutoriel d'introduction à TOR. v 1.0

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

LICENCE PROFESSIONNELLE

Fiche Technique Windows Azure

Module http MMS AllMySMS.com Manuel d intégration

Le PROXY: l identité Internet du CNUDST

Appui SIE :Développement de services web ADES/SIE

PySQLi. Framework d'injection de code SQL

Sécurisation des accès au CRM avec un certificat client générique

Architectures web/bases de données

USERGATE PROXY & FIREWALL. Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

Transcription:

Lecture d'une réponse SOAP complète par David Adams Date de publication : Août 2004 Dernière mise à jour : 4ème Dimension version 2003 et ultérieures propose en natif la construction de clients de Services Web.

I - Résumé II - Exemple de méthode proxy SOAP III - Le paramètre Web Service Dynamique IV - Le paramètre Web Service Manuel V - Lire les valeurs XML VI - Avantages VII - Notes et limitations VIII - Base exemple - 2 -

I - 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. 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. - 3 -

II - 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") LIRE RESULTAT WEB SERVICE(proxy_text;"outServerVersion";*) ` Libération de la mémoire Fin de si - 4 -

III - 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> - 5 -

IV - 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. - 6 -

V - Lire les valeurs XML 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 - 7 -

VI - Avantages 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. Expérimenter l'option manuelle amène le développeur à une meilleure compréhension des caractéristiques 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. - 8 -

VII - Notes et limitations 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. - 9 -

VIII - Base exemple Téléchargez la base exemple : base pour Windows base pour MacOs - 10 -