<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Dokeos Latinoamérica &#187; software</title>
	<atom:link href="http://dokeoslatinoamerica.wordpress.com/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://dokeoslatinoamerica.wordpress.com</link>
	<description>Reportes de actividad, tips y consideraciones</description>
	<lastBuildDate>Tue, 15 Dec 2009 21:13:47 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='dokeoslatinoamerica.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/067f4f68c6dd2fd8b9447fc660b4fa12?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Dokeos Latinoamérica &#187; software</title>
		<link>http://dokeoslatinoamerica.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://dokeoslatinoamerica.wordpress.com/osd.xml" title="Dokeos Latinoamérica" />
		<item>
		<title>Instalar y desinstalar una tabla para tu módulo en drupal</title>
		<link>http://dokeoslatinoamerica.wordpress.com/2009/08/03/instalar-y-desinstalar-una-tabla-para-tu-modulo-en-drupal/</link>
		<comments>http://dokeoslatinoamerica.wordpress.com/2009/08/03/instalar-y-desinstalar-una-tabla-para-tu-modulo-en-drupal/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 23:46:05 +0000</pubDate>
		<dc:creator>cfasanando</dc:creator>
				<category><![CDATA[técnico]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[hook]]></category>
		<category><![CDATA[informatica]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://dokeoslatinoamerica.wordpress.com/?p=927</guid>
		<description><![CDATA[Dentro de la carpeta de tu módulo debes incluir un archivo con el nombre de tu módulo con extension .install (e.j. mimodulo.install).
En este archivo se va definir la estructura representativa para uno o más tablas con sus llaves relacionadas  e índices.  Esto es definido por hook_schema() (el prefijo hook debe ser reemplazado por el nombre [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dokeoslatinoamerica.wordpress.com&blog=3963915&post=927&subd=dokeoslatinoamerica&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Dentro de la carpeta de tu módulo debes incluir un archivo con el nombre de tu módulo con extension .install (e.j. mimodulo.install).</p>
<p>En este archivo se va definir la estructura representativa para uno o más tablas con sus llaves relacionadas  e índices.  Esto es definido por hook_schema() (el prefijo hook debe ser reemplazado por el nombre de tu módulo en este caso mimodulo_schema() ).</p>
<blockquote><p>&lt;?php<br />
function mimodulo_schema() {</p>
<p>$schema['stats_user_file'] = array(<br />
&#8216;description&#8217; =&gt; &#8216;The base table for cies stats.&#8217;,<br />
&#8216;fields&#8217; =&gt; array(<br />
&#8216;id&#8217; =&gt; array(<br />
&#8216;description&#8217; =&gt; &#8216;identifier for stats.&#8217;,<br />
&#8216;type&#8217; =&gt; &#8216;int&#8217;,<br />
&#8216;not null&#8217; =&gt; TRUE,<br />
&#8216;default&#8217; =&gt; 0),<br />
&#8216;tid&#8217; =&gt; array(<br />
&#8216;description&#8217; =&gt; &#8216;identifier for a term.&#8217;,<br />
&#8216;type&#8217; =&gt; &#8216;int&#8217;,<br />
&#8216;not null&#8217; =&gt; TRUE,<br />
&#8216;default&#8217; =&gt; 0),<br />
&#8216;uid&#8217; =&gt; array(<br />
&#8216;description&#8217; =&gt; &#8216;identifier for user.&#8217;,<br />
&#8216;type&#8217; =&gt; &#8216;int&#8217;,<br />
&#8216;unsigned&#8217; =&gt; TRUE,<br />
&#8216;not null&#8217; =&gt; TRUE,<br />
&#8216;default&#8217; =&gt; 0),<br />
&#8216;fid&#8217; =&gt; array(<br />
&#8216;description&#8217; =&gt; &#8216;identifier for file.&#8217;,<br />
&#8216;type&#8217; =&gt; &#8216;int&#8217;,<br />
&#8216;not null&#8217; =&gt; TRUE,<br />
&#8216;default&#8217; =&gt; 0),<br />
&#8216;timestamp&#8217; =&gt; array(<br />
&#8216;description&#8217; =&gt; &#8216;timestamp UNIX&#8217;,<br />
&#8216;type&#8217; =&gt; &#8216;int&#8217;,<br />
&#8216;not null&#8217; =&gt; TRUE,<br />
&#8216;default&#8217; =&gt; 0)<br />
)<br />
&#8216;indexes&#8217; =&gt; array(<br />
&#8216;tabla1_changed&#8217;        =&gt; array(&#8216;changed&#8217;),<br />
&#8216;tabla1_created&#8217;        =&gt; array(&#8216;created&#8217;),<br />
),<br />
&#8216;unique keys&#8217; =&gt; array(<br />
&#8216;id_tid&#8217; =&gt; array(&#8216;id&#8217;, &#8216;tid&#8217;),<br />
&#8216;uid&#8217;     =&gt; array(&#8216;uid&#8217;)<br />
),<br />
&#8216;primary key&#8217; =&gt; array(&#8216;id&#8217;)<br />
);<br />
return $schema;<br />
}<br />
?&gt;</p></blockquote>
<p>En <a href="http://drupal.org/node/146843" target="_blank">http://drupal.org/node/146843</a> se puede ver la estructura de definición de un esquema con más detalles, tipo de datos y referencias.</p>
<p>Solo faltaría agregar hook_install() y hook_uninstall() para instalar y desinstalar respectivamente la tabla definida anteriormente</p>
<blockquote><p>&lt;?php</p>
<p>function mimodulo_schema() {<br />
/* Definicion de la estructura de la tabla */<br />
}</p>
<p>function mimodulo_install() {<br />
// Crea mi tabla<br />
drupal_install_schema(&#8216;mimodulo&#8217;);<br />
}</p>
<p>function mimodulo_uninstall() {<br />
// Borra mi tabla<br />
drupal_uninstall_schema(&#8216;mimodulo&#8217;);<br />
}</p>
<p>?&gt;</p></blockquote>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dokeoslatinoamerica.wordpress.com/927/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dokeoslatinoamerica.wordpress.com/927/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dokeoslatinoamerica.wordpress.com/927/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dokeoslatinoamerica.wordpress.com/927/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dokeoslatinoamerica.wordpress.com/927/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dokeoslatinoamerica.wordpress.com/927/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dokeoslatinoamerica.wordpress.com/927/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dokeoslatinoamerica.wordpress.com/927/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dokeoslatinoamerica.wordpress.com/927/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dokeoslatinoamerica.wordpress.com/927/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dokeoslatinoamerica.wordpress.com&blog=3963915&post=927&subd=dokeoslatinoamerica&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dokeoslatinoamerica.wordpress.com/2009/08/03/instalar-y-desinstalar-una-tabla-para-tu-modulo-en-drupal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7061e9baf0994870dac058c9b7edc517?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cfasanando</media:title>
		</media:content>
	</item>
		<item>
		<title>Dokeos Móvil</title>
		<link>http://dokeoslatinoamerica.wordpress.com/2009/07/03/dokeos-movil/</link>
		<comments>http://dokeoslatinoamerica.wordpress.com/2009/07/03/dokeos-movil/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 00:29:16 +0000</pubDate>
		<dc:creator>cfasanando</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[web service]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[movil]]></category>
		<category><![CDATA[wml]]></category>
		<category><![CDATA[wap]]></category>
		<category><![CDATA[wurfl]]></category>
		<category><![CDATA[Tera-wurfl]]></category>
		<category><![CDATA[hawhaw]]></category>

		<guid isPermaLink="false">http://dokeoslatinoamerica.wordpress.com/?p=850</guid>
		<description><![CDATA[En los ultimos 2 años la web movil ha experimentado un fuerte crecimiento, tanto en términos de número de usuarios web con acceso desde un teléfono móvil, y el número de sitios web en linea accesibles.
Es claramente un momento emocionante para la web móvil y de Internet para móviles en general.
Dokeos en su versión corporativa [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dokeoslatinoamerica.wordpress.com&blog=3963915&post=850&subd=dokeoslatinoamerica&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>En los ultimos 2 años la web movil ha experimentado un fuerte crecimiento, tanto en términos de número de usuarios web con acceso desde un teléfono móvil, y el número de sitios web en linea accesibles.</p>
<p>Es claramente un momento emocionante para la web móvil y de Internet para móviles en general.</p>
<p>Dokeos en su versión corporativa ofrece funcionalidades a través de este medio, haciendo uso de tres poderosas herramientas muy populares para el desarrollo de una aplicación web movil que son:</p>
<p><strong>WURFL</strong> (Wireless Universal Resource File) :  Es una base de datos de dispositivos móviles que registra las especificaciones y capacidades de cada uno de ellos.</p>
<p><strong>Tera-WURFL </strong>:  Es una libreria para PHP que utiliza MySQL y un mecanismo de cache para alcanzar excelente performance y reducir el tiempo que se toma para hacer consultas a una base de datos WURLF.</p>
<p><strong>HAWHAW</strong> (HTML and WML Hybrid Adapted Webserver) :  Es una libreria para PHP hecho disponible gratuitamente a traves de un solo archivo hawhaw.inc. HAWHAW trabaja con Tera-WURLF para hacer uso de la base de datos WURFL y asi generar el WML(Wireless Markup language) que es usado para crear paginas que pueden ser mostrados en un browser WAP (browser de un movil).</p>
<p>Con todo esto y atraves de los servicios web, dokeos corporativo ofrece funcionalidades que pueden ser consultadas desde un celular</p>
<p>Aca les muestro un pequeño demo sobre una cosulta a los eventos de la agenda de un curso determinado desde un nokia 6670:</p>
<p><img class="aligncenter size-full wp-image-853" title="celu1" src="http://dokeoslatinoamerica.files.wordpress.com/2009/07/celu11.jpg?w=335&#038;h=356" alt="celu1" width="335" height="356" /></p>
<p><em>En esta primera imagen el usuario selecciona el curso, el mes y el año de los eventos de dicho curso</em></p>
<p><img class="aligncenter size-full wp-image-854" title="celu2" src="http://dokeoslatinoamerica.files.wordpress.com/2009/07/celu2.jpg?w=449&#038;h=323" alt="celu2" width="449" height="323" /></p>
<p><em>Se muestra un calendario resaltando los dias donde existen eventos para dicho mes y año, al seleccionar un dia resaltado, se muestra<br />
la lista de eventos para ese dia.</em></p>
<p>Esto es sólo el comienzo, más adelante les mostraré más cosas de las funcionalidades que dokeos ofrece atraves de un móvil.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dokeoslatinoamerica.wordpress.com/850/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dokeoslatinoamerica.wordpress.com/850/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dokeoslatinoamerica.wordpress.com/850/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dokeoslatinoamerica.wordpress.com/850/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dokeoslatinoamerica.wordpress.com/850/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dokeoslatinoamerica.wordpress.com/850/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dokeoslatinoamerica.wordpress.com/850/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dokeoslatinoamerica.wordpress.com/850/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dokeoslatinoamerica.wordpress.com/850/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dokeoslatinoamerica.wordpress.com/850/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dokeoslatinoamerica.wordpress.com&blog=3963915&post=850&subd=dokeoslatinoamerica&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dokeoslatinoamerica.wordpress.com/2009/07/03/dokeos-movil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7061e9baf0994870dac058c9b7edc517?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cfasanando</media:title>
		</media:content>

		<media:content url="http://dokeoslatinoamerica.files.wordpress.com/2009/07/celu11.jpg" medium="image">
			<media:title type="html">celu1</media:title>
		</media:content>

		<media:content url="http://dokeoslatinoamerica.files.wordpress.com/2009/07/celu2.jpg" medium="image">
			<media:title type="html">celu2</media:title>
		</media:content>
	</item>
		<item>
		<title>Servicios web con PHP utilizando la herramienta NuSoap</title>
		<link>http://dokeoslatinoamerica.wordpress.com/2009/03/16/servicios-web-con-php-utilizando-la-herramienta-nusoap/</link>
		<comments>http://dokeoslatinoamerica.wordpress.com/2009/03/16/servicios-web-con-php-utilizando-la-herramienta-nusoap/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 23:52:04 +0000</pubDate>
		<dc:creator>cfasanando</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[nusoap]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web service]]></category>
		<category><![CDATA[wsdl]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://dokeoslatinoamerica.wordpress.com/?p=471</guid>
		<description><![CDATA[El presente artículo esta dirigido a las personas que ya poseen conocimientos sobre Internet y programación y quieren comenzar a conocer el mundo de los web services (servicios web).
Antes de comenzar con lo que es NuSoap creo que es conveniente realizar una introducción a lo que son los Servicios Web, y para esto debemos comenzar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dokeoslatinoamerica.wordpress.com&blog=3963915&post=471&subd=dokeoslatinoamerica&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>El presente artículo esta dirigido a las personas que ya poseen conocimientos sobre Internet y programación y quieren comenzar a conocer el mundo de los web services (servicios web).</p>
<p>Antes de comenzar con lo que es NuSoap creo que es conveniente realizar una introducción a lo que son los Servicios Web, y para esto debemos comenzar con la definición de Web Service.</p>
<p><strong>Web Service</strong>: es un sistema software diseñado para soportar la interoperabilidad máquina &#8211; máquina a través de una red. Este tiene una interfaz descripta en un formato que puede ser procesado por una máquina (específicamente WSDL, que veremos más adelante). Otros sistemas interactúan con el Web service utilizando mensajes SOAP los cuales se encuentran establecidos previamente.<br />
Entonces podríamos decir que un Web Service es una comunicación por medio de mensajes SOAP  entre diferentes equipos a través de una red.</p>
<p><strong>SOAP</strong> &#8211; <strong>Simple Object Access Protocol</strong></p>
<p>Es un protocolo de comunicación, el cual permite la comunicación entre aplicaciones a través de mensajes por medio de Internet. Es independiente de la plataforma, y del lenguaje. Esta basado en XML y es la base principal de los Web Services. Los mensajes SOAP son documento XML propiamente dicho, pero esto lo veremos más adelante cuando veamos un ejemplo de un mensaje SOAP.</p>
<p><strong>WSDL &#8211; Web Services Description Language</strong></p>
<p>Es un protocolo basado en XML que describe los accesos al Web Service. Podriamos decir que es el manual de operación del web service, porque nos indica cuales son las interfaces que provee el Servicio web y los tipos de datos necesarios para la utilización del mismo.</p>
<p><strong>¿Que es NuSOAP?</strong><br />
NuSOAP es un kit de herramientas (ToolKit) para desarrollar Web Services bajo el lenguaje PHP. Esta compuesto por una serie de clases que nos harán mucho más fácil el desarrollo de Web Services. Provee soporte para el desarrollo de clientes (aquellos que consumen los Web Services) y de servidores (aquellos que los proveen). NuSOAP esta basado en SOAP 1.1, WSDL 1.1 y HTTP 1.0/1.1<br />
No  es el único soporte para Web Services en PHP, existen otros, pero es uno de los que están en una fase de desarrollo mucho más avanzada. Sin ir más lejos, PHP a partir de su versión 5 comienza a dar soporte para SOAP, pero aun esta en fase experimental.</p>
<p>La instalación es bastante sencilla, solo basta ir a la pagina en sourceforge de NuSOAP <a href="http://sourceforge.net/projects/nusoap/">http://sourceforge.net/projects/nusoap/</a> y bajar el archivo comprimido (es un .zip).</p>
<p>Lo descomprimimos en un directorio de nuestro servidor web (como puede ser /lib que es el directorio por default), y listo, ya podemos hacer uso de NuSOAP.</p>
<p><strong>Ejemplo de servicios web utilizando nusoap</strong></p>
<p>Les mostrare la forma de usar nusoap para aplicaciones de servicios web usando wsdl.</p>
<p>ejemplo : nusoap usando wsdl</p>
<p><span style="text-decoration:underline;">(Como proveedor del servicio web)</span></p>
<p><strong>1.- Incluimos la libreria nusoap dentro de nuestro archivo </strong></p>
<p><em>require_once(&#8216;lib/nusoap.php&#8217;);</em></p>
<p><strong>2.- Creamos la instancia al servidor</strong></p>
<p><em>$server = new soap_server();</em></p>
<p><strong>3.- Inicializamos el soporte WSDL</strong></p>
<p><em>$server-&gt;configureWSDL(&#8216;hellowsdl2&#8242;, &#8216;urn:hellowsdl2&#8242;);</em></p>
<p><strong>4.- Registramos la estructura de datos usado por el servicio</strong></p>
<p><em>// Parametros de entrada<br />
$server-&gt;wsdl-&gt;addComplexType(<br />
&#8216;Person&#8217;,<br />
&#8216;complexType&#8217;,<br />
&#8217;struct&#8217;,<br />
&#8216;all&#8217;,<br />
&#8221;,<br />
array(<br />
&#8216;firstname&#8217; =&gt; array(&#8216;name&#8217; =&gt; &#8216;firstname&#8217;, &#8216;type&#8217; =&gt; &#8216;xsd:string&#8217;),<br />
&#8216;age&#8217; =&gt; array(&#8216;name&#8217; =&gt; &#8216;age&#8217;, &#8216;type&#8217; =&gt; &#8216;xsd:int&#8217;),<br />
&#8216;gender&#8217; =&gt; array(&#8216;name&#8217; =&gt; &#8216;gender&#8217;, &#8216;type&#8217; =&gt; &#8216;xsd:string&#8217;)<br />
)<br />
);<br />
// Parametros de salida<br />
$server-&gt;wsdl-&gt;addComplexType(<br />
&#8216;SweepstakesGreeting&#8217;,<br />
&#8216;complexType&#8217;,<br />
&#8217;struct&#8217;,<br />
&#8216;all&#8217;,<br />
&#8221;,<br />
array(<br />
&#8216;greeting&#8217; =&gt; array(&#8216;name&#8217; =&gt; &#8216;greeting&#8217;, &#8216;type&#8217; =&gt; &#8216;xsd:string&#8217;),<br />
&#8216;winner&#8217; =&gt; array(&#8216;name&#8217; =&gt; &#8216;winner&#8217;, &#8216;type&#8217; =&gt; &#8216;xsd:boolean&#8217;)<br />
)<br />
);</em></p>
<p><strong>5.- Registramos el metodo a exponer</strong></p>
<p><em>$server-&gt;register(&#8216;hello&#8217;,                // method name<br />
array(&#8216;person&#8217; =&gt; &#8216;tns:Person&#8217;),        // input parameters<br />
array(&#8216;return&#8217; =&gt; &#8216;tns:SweepstakesGreeting&#8217;),    // output parameters<br />
&#8216;urn:hellowsdl2&#8242;,                // namespace<br />
&#8216;urn:hellowsdl2#hello&#8217;,                // soapaction<br />
&#8216;rpc&#8217;,                        // style<br />
&#8216;encoded&#8217;,                    // use<br />
&#8216;Greet a person entering the sweepstakes&#8217;    // documentation<br />
);<br />
</em><br />
<strong>6.- Definimos el metodo como una función PHP</strong></p>
<p><em>function hello($person) {<br />
global $server;</em></p>
<p><em>$greeting = &#8216;Hello, &#8216; . $person['firstname'] .<br />
&#8216;. It is nice to meet a &#8216; . $person['age'] .<br />
&#8216; year old &#8216; . $person['gender'] . &#8216;.&#8217;;</em></p>
<p><em>if (isset($_SERVER['REMOTE_USER'])) {<br />
$greeting .= &#8216;  How do you know &#8216; . $_SERVER['REMOTE_USER'] . &#8216;?&#8217;;<br />
}</em></p>
<p><em>$winner = $person['firstname'] == &#8216;Scott&#8217;;</em></p>
<p><em>return array(<br />
&#8216;greeting&#8217; =&gt; $greeting,<br />
&#8216;winner&#8217; =&gt; $winner<br />
);<br />
}</em></p>
<p><strong>7.- Usamos el pedido para invocar el servicio</strong></p>
<p><em>$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : &#8221;;<br />
$server-&gt;service($HTTP_RAW_POST_DATA);</em></p>
<p>(Como cliente, consumidor del servicio web)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p><strong>1.- Incluimos la libreria nusoap dentro de nuestro archivo </strong></p>
<p><em>require_once(&#8216;lib/nusoap.php&#8217;);</em></p>
<p><strong>2.- Creamos la instancia como cliente </strong><br />
<em>$client = new soapclient(&#8216;http://localhost/phphack/hellowsdl2.php?wsdl&#8217;, true); </em></p>
<p><strong>3.- Chekeamos para un posible error</strong></p>
<p><em>$err = $client-&gt;getError();<br />
if ($err) {<br />
// Display the error<br />
echo &#8216;&lt;h2&gt;Constructor error&lt;/h2&gt;&lt;pre&gt;&#8217; . $err . &#8216;&lt;/pre&gt;&#8217;;<br />
// At this point, you know the call that follows will fail<br />
}<br />
</em><br />
<strong>4.- Llamamos al metodo soap</strong></p>
<p><em>$person = array(&#8216;firstname&#8217; =&gt; &#8216;Willi&#8217;, &#8216;age&#8217; =&gt; 22, &#8216;gender&#8217; =&gt; &#8216;male&#8217;);<br />
$result = $client-&gt;call(&#8216;hello&#8217;, array(&#8216;person&#8217; =&gt; $person)); </em></p>
<p><strong>5.- Chekeamos para una falla al momento de llamar al metodo </strong><br />
<em>if ($client-&gt;fault) {<br />
echo &#8216;&lt;h2&gt;Fault&lt;/h2&gt;&lt;pre&gt;&#8217;;<br />
print_r($result);<br />
echo &#8216;&lt;/pre&gt;&#8217;;<br />
} else {<br />
// Check for errors<br />
$err = $client-&gt;getError();<br />
if ($err) {<br />
// Display the error<br />
echo &#8216;&lt;h2&gt;Error&lt;/h2&gt;&lt;pre&gt;&#8217; . $err . &#8216;&lt;/pre&gt;&#8217;;<br />
} else {<br />
// Display the result<br />
echo &#8216;&lt;h2&gt;Result&lt;/h2&gt;&lt;pre&gt;&#8217;;<br />
print_r($result);<br />
echo &#8216;&lt;/pre&gt;&#8217;;<br />
}<br />
}</em></p>
<p><strong>6.- Una vez que todo este bien obtenemos la información deseada del servicio a travez del metodo que hemos invocado<br />
se pude ver los pedidos y respuestas de esta manera: </strong></p>
<p><em>echo &#8216;&lt;h2&gt;Request&lt;/h2&gt;&#8217;;<br />
echo &#8216;&lt;pre&gt;&#8217; . htmlspecialchars($client-&gt;request, ENT_QUOTES) . &#8216;&lt;/pre&gt;&#8217;;<br />
echo &#8216;&lt;h2&gt;Response&lt;/h2&gt;&#8217;;<br />
echo &#8216;&lt;pre&gt;&#8217; . htmlspecialchars($client-&gt;response, ENT_QUOTES) . &#8216;&lt;/pre&gt;&#8217;;<br />
// Display the debug messages<br />
echo &#8216;&lt;h2&gt;Debug&lt;/h2&gt;&#8217;;<br />
echo &#8216;&lt;pre&gt;&#8217; . htmlspecialchars($client-&gt;debug_str, ENT_QUOTES) . &#8216;&lt;/pre&gt;&#8217;;</em></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dokeoslatinoamerica.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dokeoslatinoamerica.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dokeoslatinoamerica.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dokeoslatinoamerica.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dokeoslatinoamerica.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dokeoslatinoamerica.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dokeoslatinoamerica.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dokeoslatinoamerica.wordpress.com/471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dokeoslatinoamerica.wordpress.com/471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dokeoslatinoamerica.wordpress.com/471/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dokeoslatinoamerica.wordpress.com&blog=3963915&post=471&subd=dokeoslatinoamerica&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dokeoslatinoamerica.wordpress.com/2009/03/16/servicios-web-con-php-utilizando-la-herramienta-nusoap/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7061e9baf0994870dac058c9b7edc517?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cfasanando</media:title>
		</media:content>
	</item>
	</channel>
</rss>