Barcamp

download Barcamp

If you can't read please download the document

Transcript of Barcamp

XML-RPC

Como crear un API para tu sitio usando

XML-RPC y PHP

Barcamp 2 - Queretaro

Ren Lpez Caballero

XML-RPC?

Es una especificacion que permite a software corriendo en diferentes SO y ambientes realizar llamadas a procedimientos sobre el internet

Es una llamada a un procedimiento remoto usando HTTP y XML para la codificacion

Quienes lo usan?

Flickr puede usar REST, SOAP, XML-RPC

Wordpress

Movable Type

Weblogs.Com

Llamada XML-RPC

jibberjobber.getContacts

nameJohn

lnameDoe

Tipos de Datos

Struct y Array

name John age 21

12 Egypt 0 -31

Respuestas XML

South Dakota

faultCode 4 faultString Too many parameters.

Libreria

http://phpxmlrpc.sourceforge.net/

Ejemplo Servidor

structMemExists( $key ) ) {$val = $struct->structMem($key);return $val->scalarVal();} else {return false;}}

Continua

function add( $params ) {global $xmlrpcerruser;$struct = $params->getParam(0); $name = getStructValue( $struct, 'name' );// Aqui se prueba si el usuario esta autorizadoif( true ){$struct = array('id' => new xmlrpcval( $id, 'int' ), 'dateCreated' => new xmlrpcval( $data['dateCreated'], 'dateTime.iso8601' ));return new xmlrpcresp( new xmlrpcval( $struct, 'struct' ) );} else { return new xmlrpcresp( 0, $xmlrpcerruser,, "The login failed" );}}

$s = new xmlrpc_server( array("example.add" => array("function" => "add"),) );?>

Ejemplo del cliente

setDebug( 2 );

$struct = array( 'username' => new xmlrpcval('demo', 'string'), 'password' => new xmlrpcval('demo', 'string' ),'name' => new xmlrpcval('John', 'string' ));$message = new xmlrpcmsg( "example.add", array( new xmlrpcval( $struct, 'struct' ) ) );$response = $client->send( $message );

?>

Muokkaa otsikon tekstimuotoa napsauttamalla

Muokkaa jsennyksen tekstimuotoa napsauttamalla

Toinen jsennystaso

Kolmas jsennystaso

Neljs jsennystaso

Viides jsennystaso

Kuudes jsennystaso

Seitsems jsennystaso

Kahdeksas jsennystaso

Yhdekss jsennystaso

EtiquetaTipoEjemplo o Entero de cuatro bytes-120 o 11CadenaHola mundoNumero de punto flotante-12.14Fecha/hora19980717T14:08:55Base 64eW91IGNhbid0IHJlYWQgdGhpcyE=

???Page ??? (???)02/06/2009, 23:47:11Page /