<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>open-pitu, el blog lliure en català &#187; WebService</title>
	<atom:link href="http://openpitu.com/tag/webservice/feed/" rel="self" type="application/rss+xml" />
	<link>http://openpitu.com</link>
	<description>Blog dedicat al software lliure i la programació.</description>
	<lastBuildDate>Mon, 03 Sep 2012 15:37:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Web service amb PHP i NuSOAP</title>
		<link>http://openpitu.com/2011/04/12/web-service-amb-php-i-nusoap/</link>
		<comments>http://openpitu.com/2011/04/12/web-service-amb-php-i-nusoap/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 17:13:03 +0000</pubDate>
		<dc:creator>Pitu Sabadí</dc:creator>
				<category><![CDATA[How-to's]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programació]]></category>
		<category><![CDATA[WebService]]></category>
		<guid isPermaLink="false">http://openpitu.com/?p=661</guid>
		<description><![CDATA[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 <a title="Descarregar llibreria." href="http://sourceforge.net/projects/nusoap/" target="_blank">NuSOAP</a> de PHP,
A continuació veurem un exemple de Servidor, que el crida un client.
<h2><strong>Server.php</strong></h2>
<ol>
	<li>require_once('NUSOAP/nusoap.php');</li>
	<li>$soap = new soap_server;</li>
	<li>$soap-&#62;configureWSDL('open-pitu Service', 'http://latevaurl.cat/elteupath/');</li>
	<li>$soap-&#62;register(</li>
	<li style="padding-left: 15px;">'hola',// nom del mètode</li>
	<li style="padding-left: 15px;">array('nom' =&#62; 'xsd:string', 'cognom' =&#62; 'xsd:string' ),// variables d'entrada</li>
	<li style="padding-left: 15px;">array('return' =&#62; 'xsd:string'),    // retorn</li>
	<li style="padding-left: 15px;">'uri:hola',// namespace</li>
	<li style="padding-left: 15px;">'uri:hola/get',// SOAPAction</li>
	<li style="padding-left: 15px;">'rpc',// style</li>
	<li style="padding-left: 15px;">'encoded'// use</li>
	<li>);</li>
	<li>function hola( $nom, $cognom ){</li>
	<li style="padding-left: 15px;">return "Hola ".$nom." ".$cognom."!";</li>
	<li>}</li>
	<li>$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';</li>
	<li>$soap-&#62;service($HTTP_RAW_POST_DATA);</li>
</ol>
<h2><strong>Client.php</strong></h2>
<ol>
	<li>require_once('NUSOAP/nusoap.php');</li>
	<li>try</li>
	<li style="padding-left: 15px;">$client = new nusoap_client('http://latevaurl.cat/elteupath/server.php?wsdl');</li>
	<li style="padding-left: 15px;">$result = $client-&#62;call('Hola', array('nom' =&#62; "Leo", 'cognom' =&#62; "Messi" ) );</li>
	<li style="padding-left: 15px;">print_r($result);</li>
	<li>}</li>
	<li>catch( SoapFault $e ){</li>
	<li style="padding-left: 15px;">echo 'EXCEPTION='.$e;</li>
	<li>}</li>
</ol>
Recordeu que per a què el codi funcioni cal tenir activat SOAP a Apache. Podeu seguir <a title="Install SOAP" href="http://www.php.net/manual/en/soap.installation.php" target="_blank">aquestes intruccions</a>.]]></description>
			<content:encoded><![CDATA[<div class="besocial"><ul class="center"><li><a class="besocial-meneame" id="besocial-meneame-1" rel="nofollow" href="http://www.meneame.net/submit.php?url=http://openpitu.com/2011/04/12/web-service-amb-php-i-nusoap/&amp;title=Web%20service%20amb%20PHP%20i%20NuSOAP" title="Submit this to Meneame"><span class="besocial-text">Meneame</span></a></li><li><a class="besocial-divoblogger" id="besocial-divoblogger-1" rel="nofollow" href="http://divoblogger.com/submit.php?url=http://openpitu.com/2011/04/12/web-service-amb-php-i-nusoap/&amp;title=Web%20service%20amb%20PHP%20i%20NuSOAP" title="Submit this to Divoblogger"><span class="besocial-text">Divoblogger</span></a></li><li><a class="besocial-bitacoras" id="besocial-bitacoras-1" rel="nofollow" href="http://bitacoras.com/anotaciones/openpitu.com/2011/04/12/web-service-amb-php-i-nusoap/" title="Submit this to Bitacoras.com"><span class="besocial-text">Bitacoras</span></a></li><li><a class="besocial-delicious" id="besocial-delicious-1" rel="nofollow" href="http://www.delicious.com/save?v=5&amp;noui&amp;url=http://openpitu.com/2011/04/12/web-service-amb-php-i-nusoap/&amp;title=Web%20service%20amb%20PHP%20i%20NuSOAP" title="Bookmark this in Delicious"><span class="besocial-text">Delicious</span></a></li><li><a class="besocial-facebook" id="besocial-facebook-1" rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fopenpitu.com%2F2011%2F04%2F12%2Fweb-service-amb-php-i-nusoap%2F&amp;t=Web%20service%20amb%20PHP%20i%20NuSOAP&amp;src=sp" title="Share this on Facebook"><span class="besocial-text">Facebook</span></a></li><li><a class="besocial-twitter" id="besocial-twitter-1" rel="nofollow" href="http://twitter.com/share?url=http%3A%2F%2Fopenpitu.com%2F2011%2F04%2F12%2Fweb-service-amb-php-i-nusoap%2F&amp;text=Web%20service%20amb%20PHP%20i%20NuSOAP&via=openpitu" title="Tweet this"><span class="besocial-text">Twitter</span></a></li><g:plusone></g:plusone></ul></div>
<p>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.</p>
<p>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.</p>
<p>Per tal de poder usar els codis que es mostren a continuació, cal que ens descarreguem la llibreria <a title="Descarregar llibreria." href="http://sourceforge.net/projects/nusoap/" target="_blank">NuSOAP</a> de PHP,</p>
<p>A continuació veurem un exemple de Servidor, que el crida un client.</p>
<h2><strong>Server.php</strong></h2>
<ol>
<li>require_once(&#8216;NUSOAP/nusoap.php&#8217;);</li>
<li>$soap = new soap_server;</li>
<li>$soap-&gt;configureWSDL(&#8216;open-pitu Service&#8217;, &#8216;http://latevaurl.cat/elteupath/&#8217;);</li>
<li>$soap-&gt;register(</li>
<li style="padding-left: 15px;">&#8216;hola&#8217;,// nom del mètode</li>
<li style="padding-left: 15px;">array(&#8216;nom&#8217; =&gt; &#8216;xsd:string&#8217;, &#8216;cognom&#8217; =&gt; &#8216;xsd:string&#8217; ),// variables d&#8217;entrada</li>
<li style="padding-left: 15px;">array(&#8216;return&#8217; =&gt; &#8216;xsd:string&#8217;),    // retorn</li>
<li style="padding-left: 15px;">&#8216;uri:hola&#8217;,// namespace</li>
<li style="padding-left: 15px;">&#8216;uri:hola/get&#8217;,// SOAPAction</li>
<li style="padding-left: 15px;">&#8216;rpc&#8217;,// style</li>
<li style="padding-left: 15px;">&#8216;encoded&#8217;// use</li>
<li>);</li>
<li>function hola( $nom, $cognom ){</li>
<li style="padding-left: 15px;">return &#8220;Hola &#8220;.$nom.&#8221; &#8220;.$cognom.&#8221;!&#8221;;</li>
<li>}</li>
<li>$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : &#8221;;</li>
<li>$soap-&gt;service($HTTP_RAW_POST_DATA);</li>
</ol>
<h2><strong>Client.php</strong></h2>
<ol>
<li>require_once(&#8216;NUSOAP/nusoap.php&#8217;);</li>
<li>try</li>
<li style="padding-left: 15px;">$client = new nusoap_client(&#8216;http://latevaurl.cat/elteupath/server.php?wsdl&#8217;);</li>
<li style="padding-left: 15px;">$result = $client-&gt;call(&#8216;Hola&#8217;, array(&#8216;nom&#8217; =&gt; &#8220;Leo&#8221;, &#8216;cognom&#8217; =&gt; &#8220;Messi&#8221; ) );</li>
<li style="padding-left: 15px;">print_r($result);</li>
<li>}</li>
<li>catch( SoapFault $e ){</li>
<li style="padding-left: 15px;">echo &#8216;EXCEPTION=&#8217;.$e;</li>
<li>}</li>
</ol>
<p>Recordeu que per a què el codi funcioni cal tenir activat SOAP a Apache. Podeu seguir <a title="Install SOAP" href="http://www.php.net/manual/en/soap.installation.php" target="_blank">aquestes intruccions</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://openpitu.com/2011/04/12/web-service-amb-php-i-nusoap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
