LDAP: couldn't connect to LDAP server
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lpro:ws [2017/12/11 10:59] jbaudry [Exercice 2 : Consommer des WebServices en PHP / Java (Partie 2)] |
lpro:ws [2017/12/18 09:58] (current) jbaudry [Liens webservices] |
||
---|---|---|---|
Line 20: | Line 20: | ||
{{:lpro:05-rest.pdf| Introduction REST}} | {{:lpro:05-rest.pdf| Introduction REST}} | ||
+ | |||
+ | ==== Liens webservices ==== | ||
+ | * http://litis.univ-lehavre.fr/wiki/lpro/ws/rest | ||
+ | * Livres | ||
+ | * https://www.googleapis.com/books/v1/volumes?q=isbn:0747532699 | ||
+ | * Adresse | ||
+ | * https://maps.googleapis.com/maps/api/geocode/json?address=universite%20du%20havre,%20france&sensor=false | ||
+ | * Iceland API gouv | ||
+ | * http://docs.apis.is/ | ||
+ | * Photos | ||
+ | * https://www.flickr.com/services/feeds/docs/photos_public/ | ||
+ | * Pays | ||
+ | * https://restcountries.eu | ||
+ | * Pays 2 | ||
+ | * https://geo.api.gouv.fr/communes?codePostal=76600&fields=nom,code,codesPostaux,codeDepartement,codeRegion,population&format=json&geometry=centre' | ||
+ | * Adresses | ||
+ | * https://adresse.data.gouv.fr/api/ | ||
+ | |||
* http://blog.programmableweb.com/2012/01/11/12-json-weather-apis/ | * http://blog.programmableweb.com/2012/01/11/12-json-weather-apis/ | ||
* [[lpro:ws:rest_php|Exemple en php]] | * [[lpro:ws:rest_php|Exemple en php]] | ||
* WSDL : http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl | * WSDL : http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl | ||
- | * WSDL : | + | * WSDL La poste : {{ :lpro:spec_ws_suivi_en.pdf |}} |
Line 88: | Line 106: | ||
* Conversion de température fahrenheit -> Celsius | * Conversion de température fahrenheit -> Celsius | ||
* Réalisez le même exercice que précédemment en utilisant la fonction inverse pour convertir une température de fahrenheit -> Celsius. | * Réalisez le même exercice que précédemment en utilisant la fonction inverse pour convertir une température de fahrenheit -> Celsius. | ||
- | * Utilisez Eclipse pour vous connecter à ce webservice | + | * Utilisez Eclipse pour vous connecter à ce webservice : http://www.webservicex.net/ConvertSpeed.asmx?WSDL |
<code java> | <code java> | ||
public static void main(String[] args) { | public static void main(String[] args) { | ||
Line 119: | Line 137: | ||
e.printStackTrace(); | e.printStackTrace(); | ||
} | } | ||
- | |||
- | |||
} | } | ||
- | |||
} | } | ||
</code> | </code> | ||
Line 190: | Line 205: | ||
?> | ?> | ||
</code> | </code> | ||
+ | |||
+ | * WSDL : Client | ||
+ | |||
+ | <code php> | ||
+ | <?php | ||
+ | // Pour supprimer le cache du web-service | ||
+ | ini_set('soap.wsdl_cache_enabled', 0); | ||
+ | |||
+ | // Nouveau Client SOAP | ||
+ | try { | ||
+ | // Nouvelle instance de la classe soapClient | ||
+ | $client = new SoapClient('http://127.0.0.1/lpro/ws1/Hello.wsdl', array('trace' => 1)); | ||
+ | |||
+ | $parm = 'LPRO'; | ||
+ | // Appel de la méthode hellotest du service web | ||
+ | |||
+ | try{ | ||
+ | $oReturn = $client->bonjour("LPRO"); | ||
+ | |||
+ | } catch (Exception $e) { | ||
+ | echo 'erreur1'.$e; | ||
+ | } | ||
+ | catch (SoapFault $fault) { | ||
+ | echo "il y a une erreur"; | ||
+ | trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); | ||
+ | } | ||
+ | // affiche le résultat | ||
+ | echo "Resultat : ".$oReturn."<br/>" ; | ||
+ | } catch (SoapFault $fault) { | ||
+ | echo 'erreur : '.$fault; | ||
+ | } | ||
+ | |||
+ | // Affichage des requetes et reponses SOAP (pour debug) | ||
+ | |||
+ | echo '<br />Requete SOAP : '.htmlspecialchars($client->__getLastRequest()).'<br />'; | ||
+ | |||
+ | echo '<br />Reponse SOAP : '.htmlspecialchars($client->__getLastResponse()).'<br />'; | ||
+ | |||
+ | echo '<br/>'.var_dump($oReturn); | ||
+ | |||
+ | ?> | ||
+ | </code> | ||
+ | |||
+ | * WSDL : server | ||
+ | |||
+ | <code php> | ||
+ | <?php | ||
+ | // Pour supprimer le cache du web-service | ||
+ | ini_set('soap.wsdl_cache_enabled', 0); | ||
+ | // Pour définir le temp maximal d'éxecution de notre web-service | ||
+ | ini_set('default_socket_timeout', 180); | ||
+ | |||
+ | // Nom de notre web-service | ||
+ | class Server { | ||
+ | // Le service QuelJour que l'on a définit dans notre format wsdl | ||
+ | |||
+ | function bonjour($parm) { | ||
+ | return "bonjour ".$parm ; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | // On tente d'instancier la classe soapServer | ||
+ | // Si cela s'avère impossible, on affiche une erreur | ||
+ | try { | ||
+ | $server = new SoapServer('Hello.wsdl', array('trace' => 1,'encoding' => 'ISO-8859-1')); | ||
+ | // On définit la classe qui va gérer les requêtes SOAP (pour nous c'est la class Server) | ||
+ | $server->setclass('Server'); | ||
+ | $server->setPersistence(SOAP_PERSISTENCE_REQUEST); | ||
+ | } catch (Exception $e) { | ||
+ | echo 'erreur'.$e; | ||
+ | } | ||
+ | |||
+ | |||
+ | /* | ||
+ | * Gestion des requêtes | ||
+ | */ | ||
+ | |||
+ | // Si l'appel provient d'un Web-Service | ||
+ | if ($_SERVER['REQUEST_METHOD'] == 'POST') { | ||
+ | try { | ||
+ | $server -> handle();} | ||
+ | catch (Exception $e) { | ||
+ | echo 'erreur'.$e; | ||
+ | } | ||
+ | } | ||
+ | // Facultatif seulement pour montrer les fonctions disponibles par le web-service | ||
+ | else { | ||
+ | echo '<strong>This SOAP server can handle following functions : </strong>'; | ||
+ | echo '<ul>'; | ||
+ | foreach($server -> getFunctions() as $func) { | ||
+ | echo '<li>' , $func , '</li>'; | ||
+ | } | ||
+ | echo '</ul>'; | ||
+ | } | ||
+ | |||
+ | |||
+ | ?> | ||
+ | </code> | ||
+ | |||
====== Exercice 5 : Manipuler le format JSON (open data Nantes) ====== | ====== Exercice 5 : Manipuler le format JSON (open data Nantes) ====== | ||