Web service amb PHP i NuSOAP



Un Web service és un conjunt de protocols i estàndards que serveixen per intercanviar dades entre aplicacion. Diferents aplicacions desenvolupades amb llenguatges de programació diferents i executades des de qualsevol plataforma, poden intercanviar dades per Internet.

La majoria de nosaltres quan pensem amb Web service des seguida ens ve al cap Java i Tomcat. És una de les maneres més senzilles de fer-ho, però a vegades, en funció del què hi ha fet en un projecte, ens pot ser molt més senzill fer-ho amb PHP.

Per tal de poder usar els codis que es mostren a continuació, cal que ens descarreguem la llibreria NuSOAP de PHP,

A continuació veurem un exemple de Servidor, que el crida un client.

Server.php

  1. require_once(‘NUSOAP/nusoap.php’);
  2. $soap = new soap_server;
  3. $soap->configureWSDL(‘open-pitu Service’, ‘http://latevaurl.cat/elteupath/’);
  4. $soap->register(
  5. ‘hola’,// nom del mètode
  6. array(‘nom’ => ‘xsd:string’, ‘cognom’ => ‘xsd:string’ ),// variables d’entrada
  7. array(‘return’ => ‘xsd:string’), // retorn
  8. ‘uri:hola’,// namespace
  9. ‘uri:hola/get’,// SOAPAction
  10. ‘rpc’,// style
  11. ‘encoded’// use
  12. );
  13. function hola( $nom, $cognom ){
  14. return “Hola “.$nom.” “.$cognom.”!”;
  15. }
  16. $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ”;
  17. $soap->service($HTTP_RAW_POST_DATA);

Client.php

  1. require_once(‘NUSOAP/nusoap.php’);
  2. try
  3. $client = new nusoap_client(‘http://latevaurl.cat/elteupath/server.php?wsdl’);
  4. $result = $client->call(‘Hola’, array(‘nom’ => “Leo”, ‘cognom’ => “Messi” ) );
  5. print_r($result);
  6. }
  7. catch( SoapFault $e ){
  8. echo ‘EXCEPTION=’.$e;
  9. }

Recordeu que per a què el codi funcioni cal tenir activat SOAP a Apache. Podeu seguir aquestes intruccions.

Tags: , ,

Articles relacionats

Esborrar nodes del DOM en PHP

OOCSS (2a part), profunditzant en els widgets

OOCSS, Object-Oriented CSS

Less Framework 2

FireQuery, una extenció de Firebug per desenvolupar en jQuery

  • http://topsy.com/trackback?url=http%3A%2F%2Fopenpitu.com%2F%3Fp%3D152&utm_source=pingback&utm_campaign=L2 Tweets that mention FireQuery, una extenció de Firebug per desenvolupar en jQuery | open-pitu, el blog lliure en català — Topsy.com

    [...] This post was mentioned on Twitter by DJ Hennion, Pitu Sabadí. Pitu Sabadí said: FireQuery, una extenció de Firebug per desenvolupar en #jQuery http://goo.gl/fb/BIeGw #descàrregues #css #extensions [...]