client php web service
TRANSCRIPT
![Page 1: Client PHP web service](https://reader031.vdocuments.pub/reader031/viewer/2022021211/620652098c2f7b1730069ec8/html5/thumbnails/1.jpg)
Web services
➲ SOAP, XML-RPC, Axis, ...
➲ Côté serveur:● php 4 => librairie nuSOAP● php 5 => classes SOAP natives
➲ Côté client:● php, perl, C, Java, Tcl/Tk, Python, ...
![Page 2: Client PHP web service](https://reader031.vdocuments.pub/reader031/viewer/2022021211/620652098c2f7b1730069ec8/html5/thumbnails/2.jpg)
Web services
➲ Lire la requête SOAP➲ Analyser la requête➲ Vérifier et valider les paramètres envoyés➲ Effectuer l'opération attendue➲ Envoyer une réponse SOAP
![Page 3: Client PHP web service](https://reader031.vdocuments.pub/reader031/viewer/2022021211/620652098c2f7b1730069ec8/html5/thumbnails/3.jpg)
Serveur PHP web service
// Chargement de la librairie NUSOAPrequire_once("nusoap.php");
// Creation d'une instance de soap_server$server = new soap_server;
// Namespace$namespace =
"http://www.imcce.fr/webservices/skybot";
// Configure WSDL $server>configureWSDL('SkyBoT',$namespace);$server>wsdl>schemaTargetNamespace = $namespace;
![Page 4: Client PHP web service](https://reader031.vdocuments.pub/reader031/viewer/2022021211/620652098c2f7b1730069ec8/html5/thumbnails/4.jpg)
Serveur PHP web service// Types de donnees d'entree de la methode$server>wsdl>addComplexType( 'skybotresolverRequest', 'complexType', 'struct', 'all', '', array( 'epoch' => array('name'=>'epoch', 'type'=>'xsd:double'), 'name' => array('name'=>'name', 'type'=>'xsd:string'), 'mime' => array('name'=>'mime', 'type'=>'xsd:string'), 'output' => array('name'=>'output', 'type'=>'xsd:string'), 'observer' => array('name'=>'observer', 'type'=>'xsd:string') ));
![Page 5: Client PHP web service](https://reader031.vdocuments.pub/reader031/viewer/2022021211/620652098c2f7b1730069ec8/html5/thumbnails/5.jpg)
Serveur PHP web service
// Types de donnees de la sortie de la methode$server>wsdl>addComplexType( 'skybotResponse', 'complexType', 'struct', 'all', '', array( 'flag' => array('name'=>'flag', 'type'=>'xsd:int'), 'ticket'=> array('name'=>'ticket', 'type'=>'xsd:int'), 'result'=> array('name'=>'result', 'type'=>'xsd:string') ));
![Page 6: Client PHP web service](https://reader031.vdocuments.pub/reader031/viewer/2022021211/620652098c2f7b1730069ec8/html5/thumbnails/6.jpg)
Serveur PHP web service
// Informe l'instance du nom des methodes permises a l'utilisateur$server>register( 'skybotresolver', array('inputArray'=>'tns:skybotresolverRequest'), array('result'=>'tns:skybotResponse'), $namespace, $namespace.'#skybotresolver', 'rpc', 'encoded', 'Provide the coordinates of a solar system object from its name.');
![Page 7: Client PHP web service](https://reader031.vdocuments.pub/reader031/viewer/2022021211/620652098c2f7b1730069ec8/html5/thumbnails/7.jpg)
Serveur PHP web service
// Definitions de la methodeinclude ('method_skybotresolver.php');
// Execution du RPC: initiation de la transaction et envoie de la reponse
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server>service($HTTP_RAW_POST_DATA);
![Page 8: Client PHP web service](https://reader031.vdocuments.pub/reader031/viewer/2022021211/620652098c2f7b1730069ec8/html5/thumbnails/8.jpg)
Client PHP web service
/* Load the 'NUSOAP' lib */require_once("nusoap.php");
/* web service namespace and wsdl */$namespace = "http://www.imcce.fr/webservices/skybot";$mywsdl = "http://www.imcce.fr/webservices/skybot/
skybot.php?wsdl";
/* Create the soapclient instance */$client = new soapclient($mywsdl, $wsdl=true);
![Page 9: Client PHP web service](https://reader031.vdocuments.pub/reader031/viewer/2022021211/620652098c2f7b1730069ec8/html5/thumbnails/9.jpg)
Client PHP web service
/* Check for an error */$err = $client > getError();if ($err) { echo 'Constructor error: ' . $err; }
/* Input parameters */$param = array('epoch' => 2453657.9215, 'name' => 'a:pallas', 'mime' => 'text', 'out' => 'basic', 'observer' => '500');
![Page 10: Client PHP web service](https://reader031.vdocuments.pub/reader031/viewer/2022021211/620652098c2f7b1730069ec8/html5/thumbnails/10.jpg)
Client PHP web service
/* Call the SOAP method */$response =
$client>call('skybotresolver', array('inputArray'=>$param), $namespace);
![Page 11: Client PHP web service](https://reader031.vdocuments.pub/reader031/viewer/2022021211/620652098c2f7b1730069ec8/html5/thumbnails/11.jpg)
/* Check for a fault or print the response */if ($client>fault){ echo 'Fault: '; print_r ($response);}else{ /* Check for errors */ $err = $client>getError(); if ($err) { echo 'Error: '.$err ; } else { echo $response['result']."\n"; }}
![Page 12: Client PHP web service](https://reader031.vdocuments.pub/reader031/viewer/2022021211/620652098c2f7b1730069ec8/html5/thumbnails/12.jpg)
XSLT : XML vers XML
➲ XSLT : transformateur de XML en● XML● (x)HTML● text● ...
➲ Fonctionne en ligne de commande● xsltproc [options] stylesheet file
➲ ou à la volée● <?xmlstylesheet type='text/xsl'
href='http://www.imcce.fr/webservices/VOTable.xsl'?>