|
|
@@ -1,39 +1,29 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
- <!-- EN-Revision: 19477 -->
|
|
|
+<!-- EN-Revision: 20115 -->
|
|
|
<!-- Reviewed: no -->
|
|
|
<sect1 id="zend.json.server">
|
|
|
<title>Zend_Json_Server - servidor JSON-RPC</title>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Json_Server</classname>
|
|
|
- es una implementación del
|
|
|
- servidor
|
|
|
- <ulink url="http://groups.google.com/group/json-rpc/">JSON-RPC</ulink>
|
|
|
- Soporta tanto la versión 1 de la especificación
|
|
|
- <ulink url="http://json-rpc.org/wiki/specification">JSON-RPC</ulink>
|
|
|
- así como la especificación de la
|
|
|
- <ulink url="http://groups.google.com/group/json-rpc/web/json-rpc-1-2-proposal">versión
|
|
|
- 2</ulink>
|
|
|
- ; además, provee una implementación de
|
|
|
- <acronym>PHP</acronym>
|
|
|
- de la especificación del
|
|
|
- <ulink url="http://groups.google.com/group/json-schema/web/service-mapping-description-proposal">Service
|
|
|
- Mapping Description (SMD)</ulink>
|
|
|
- para prestar un servicio
|
|
|
- de metadatos a consumidores del servicio.
|
|
|
- </para>
|
|
|
-
|
|
|
- <para>
|
|
|
- JSON-RPC es un protocolo liviano de Remote Procedure Call que utiliza
|
|
|
- JSON para envolver sus
|
|
|
- mensajes. Esta implementación JSON-RPC sigue la
|
|
|
- <acronym>API</acronym>
|
|
|
- <acronym>PHP</acronym>
|
|
|
- de
|
|
|
- <ulink url="http://us.php.net/manual/en/function.soap-soapserver-construct.php">SoapServer</ulink>
|
|
|
- . Esto significa que, en una situación típica,
|
|
|
- simplemente:
|
|
|
- </para>
|
|
|
+ <classname>Zend_Json_Server</classname> es una implementación del
|
|
|
+ servidor <ulink url="http://groups.google.com/group/json-rpc/"
|
|
|
+ >JSON-RPC</ulink> Soporta tanto la versión 1 de la especificación
|
|
|
+ <ulink url="http://json-rpc.org/wiki/specification">JSON-RPC</ulink>
|
|
|
+ así como la especificación de la <ulink
|
|
|
+ url="http://groups.google.com/group/json-rpc/web/json-rpc-1-2-proposal"
|
|
|
+ >versión 2</ulink> ; además, provee una implementación de
|
|
|
+ <acronym>PHP</acronym> de la especificación del <ulink
|
|
|
+ url="http://groups.google.com/group/json-schema/web/service-mapping-description-proposal"
|
|
|
+ >Service Mapping Description (SMD)</ulink> para prestar un servicio
|
|
|
+ de metadatos a consumidores del servicio. </para>
|
|
|
+
|
|
|
+ <para> JSON-RPC es un protocolo liviano de Remote Procedure Call que utiliza
|
|
|
+ JSON para envolver sus mensajes. Esta implementación JSON-RPC sigue la
|
|
|
+ <acronym>API</acronym>
|
|
|
+ <acronym>PHP</acronym> de <ulink
|
|
|
+ url="http://us.php.net/manual/en/function.soap-soapserver-construct.php"
|
|
|
+ >SoapServer</ulink> . Esto significa que, en una situación típica,
|
|
|
+ simplemente: </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
@@ -49,20 +39,13 @@
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Json_Server</classname>
|
|
|
- utiliza
|
|
|
- <xref linkend="zend.server.reflection"/>
|
|
|
- para realizar reflexión sobre
|
|
|
+ <classname>Zend_Json_Server</classname> utiliza <xref
|
|
|
+ linkend="zend.server.reflection"/> para realizar reflexión sobre
|
|
|
cualquiera de las clases o funciones agregadas, y utiliza esa
|
|
|
información para construir tanto la SMD y hacer cumplir el método de
|
|
|
- llamado de firmas. Como
|
|
|
- tal, es imperativo que cualquier de las
|
|
|
- funciones agregadas y/o los métodos de clase tengan
|
|
|
- mínimamente una
|
|
|
- plena documentación de
|
|
|
- <acronym>PHP</acronym>
|
|
|
- docblocks:
|
|
|
- </para>
|
|
|
+ llamado de firmas. Como tal, es imperativo que cualquier de las
|
|
|
+ funciones agregadas y/o los métodos de clase tengan mínimamente una
|
|
|
+ plena documentación de <acronym>PHP</acronym> docblocks: </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
@@ -74,25 +57,19 @@
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Json_Server</classname>
|
|
|
- escucha por solicitudes POST
|
|
|
+ <classname>Zend_Json_Server</classname> escucha por solicitudes POST
|
|
|
únicamente en este momento; afortunadamente, la mayoría de las
|
|
|
implementaciones del cliente JSON-RPC en los medios en el momento de
|
|
|
- escribir esto, sólo
|
|
|
- requieren a POST como es. Esto hace que sea fácil de
|
|
|
- utilizar el mismo punto final del
|
|
|
- servidor para manejar a ambas
|
|
|
- peticiones así como para entregar el servicio SMD, como se
|
|
|
- muestra en el
|
|
|
- siguiente ejemplo.
|
|
|
- </para>
|
|
|
+ escribir esto, sólo requieren a POST como es. Esto hace que sea fácil de
|
|
|
+ utilizar el mismo punto final del servidor para manejar a ambas
|
|
|
+ peticiones así como para entregar el servicio SMD, como se muestra en el
|
|
|
+ siguiente ejemplo. </para>
|
|
|
|
|
|
<example id="zend.json.server.usage">
|
|
|
<title>Uso de Zend_Json_Server</title>
|
|
|
|
|
|
<para>Primero, definir una clase que queramos exponer vía servidor
|
|
|
- JSON-RPC. Vamos a la clase
|
|
|
- 'Calculator', y definir los métodos para
|
|
|
+ JSON-RPC. Vamos a la clase 'Calculator', y definir los métodos para
|
|
|
'add', 'subtract', 'multiply', y 'divide':</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -151,18 +128,11 @@ class Calculator
|
|
|
}
|
|
|
]]></programlisting>
|
|
|
|
|
|
- <para>
|
|
|
- Nótese que cada método tiene un docblock con entradas indicando
|
|
|
- cada parámetro y su tipo,
|
|
|
- así como una entrada para el valor de
|
|
|
- retorno. Esto es
|
|
|
- <emphasis>absolutamente crítico</emphasis>
|
|
|
- cuando
|
|
|
- se usa
|
|
|
- <classname>Zend_Json_Server</classname>
|
|
|
- -- o cualquier otro
|
|
|
- componente del servidor en Zend Framework, por esa cuestión.
|
|
|
- </para>
|
|
|
+ <para> Nótese que cada método tiene un docblock con entradas indicando
|
|
|
+ cada parámetro y su tipo, así como una entrada para el valor de
|
|
|
+ retorno. Esto es <emphasis>absolutamente crítico</emphasis> cuando
|
|
|
+ se usa <classname>Zend_Json_Server</classname> -- o cualquier otro
|
|
|
+ componente del servidor en Zend Framework, por esa cuestión. </para>
|
|
|
|
|
|
<para>Ahora, crearemos un script para manejar las peticiones:</para>
|
|
|
|
|
|
@@ -176,16 +146,11 @@ $server->setClass('Calculator');
|
|
|
$server->handle();
|
|
|
]]></programlisting>
|
|
|
|
|
|
- <para>
|
|
|
- Sin embargo, esto no soluciona el problema de devolución de un
|
|
|
- SMD para que el cliente
|
|
|
- JSON-RPC pueda autodescubrir los métodos.
|
|
|
- Esto puede lograrse determinando el método del
|
|
|
- requerimiento
|
|
|
- <acronym>HTTP</acronym>
|
|
|
- , y
|
|
|
- luego especificando algún servidor de metadatos:
|
|
|
- </para>
|
|
|
+ <para> Sin embargo, esto no soluciona el problema de devolución de un
|
|
|
+ SMD para que el cliente JSON-RPC pueda autodescubrir los métodos.
|
|
|
+ Esto puede lograrse determinando el método del requerimiento
|
|
|
+ <acronym>HTTP</acronym> , y luego especificando algún servidor
|
|
|
+ de metadatos: </para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
$server = new Zend_Json_Server();
|
|
|
@@ -209,8 +174,7 @@ $server->handle();
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>Si utiliza el servidor JSON-RPC con Dojo toolkit, también
|
|
|
- necesitará establecer un flag
|
|
|
- de compatibilidad especial para
|
|
|
+ necesitará establecer un flag de compatibilidad especial para
|
|
|
garantizar que los dos interoperen correctamente:</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -237,127 +201,93 @@ $server->handle();
|
|
|
<sect2 id="zend.json.server.details">
|
|
|
<title>Detalles Avanzados</title>
|
|
|
|
|
|
- <para>
|
|
|
- Aunque la mayor funcionalidad de
|
|
|
- <classname>Zend_Json_Server</classname>
|
|
|
- se puntualiza en
|
|
|
- <xref linkend="zend.json.server.usage"/>
|
|
|
- , hay más funcionalidad
|
|
|
- avanzada disponible.
|
|
|
- </para>
|
|
|
+ <para> Aunque la mayor funcionalidad de
|
|
|
+ <classname>Zend_Json_Server</classname> se puntualiza en <xref
|
|
|
+ linkend="zend.json.server.usage"/> , hay más funcionalidad
|
|
|
+ avanzada disponible. </para>
|
|
|
|
|
|
<sect3 id="zend.json.server.details.zendjsonserver">
|
|
|
<title>Zend_Json_Server</title>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Json_Server</classname>
|
|
|
- es la clase núcleo en la
|
|
|
+ <classname>Zend_Json_Server</classname> es la clase núcleo en la
|
|
|
propuesta JSON-RPC; que maneja todas las peticiones y como
|
|
|
respuesta devuelve un conjunto de datos. Tiene los siguientes
|
|
|
- métodos:
|
|
|
- </para>
|
|
|
+ métodos: </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>addFunction($function)</methodname>
|
|
|
- :
|
|
|
+ <methodname>addFunction($function)</methodname> :
|
|
|
Especifica la función de espacio del usuario para
|
|
|
- agregar al servidor.
|
|
|
- </para>
|
|
|
+ agregar al servidor. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setClass($class)</methodname>
|
|
|
- : Especifica
|
|
|
+ <methodname>setClass($class)</methodname> : Especifica
|
|
|
una clase u objeto para agregar al servidor; todos los
|
|
|
- métodos
|
|
|
- públicos de ese item serán expuestos como
|
|
|
- métodos JSON-RPC.
|
|
|
- </para>
|
|
|
+ métodos públicos de ese item serán expuestos como
|
|
|
+ métodos JSON-RPC. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<methodname>fault($fault = null, $code = 404, $data =
|
|
|
- null)</methodname>
|
|
|
- : Crea y devuelve un objeto
|
|
|
- <classname>Zend_Json_Server_Error</classname>
|
|
|
- .
|
|
|
+ null)</methodname> : Crea y devuelve un objeto
|
|
|
+ <classname>Zend_Json_Server_Error</classname> .
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>handle($request = false)</methodname>
|
|
|
- :
|
|
|
+ <methodname>handle($request = false)</methodname> :
|
|
|
Maneja una solicitud JSON-RPC; opcionalmente, pasa un
|
|
|
- objeto
|
|
|
- <classname>Zend_Json_Server_Request</classname>
|
|
|
- a
|
|
|
- utlizar (crea uno por defecto).
|
|
|
- </para>
|
|
|
+ objeto <classname>Zend_Json_Server_Request</classname> a
|
|
|
+ utlizar (crea uno por defecto). </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getFunctions()</methodname>
|
|
|
- : Devuelve una
|
|
|
- lista de todos los métodos agregados.
|
|
|
- </para>
|
|
|
+ <methodname>getFunctions()</methodname> : Devuelve una
|
|
|
+ lista de todos los métodos agregados. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<methodname>setRequest(Zend_Json_Server_Request
|
|
|
- $request)</methodname>
|
|
|
- : Especifica un objeto
|
|
|
- solicitud para el servidor a utilizar.
|
|
|
- </para>
|
|
|
+ $request)</methodname> : Especifica un objeto
|
|
|
+ solicitud para el servidor a utilizar. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getRequest()</methodname>
|
|
|
- : Recupera el
|
|
|
- objeto solicitud usado por el servidor.
|
|
|
- </para>
|
|
|
+ <methodname>getRequest()</methodname> : Recupera el
|
|
|
+ objeto solicitud usado por el servidor. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<methodname>setResponse(Zend_Json_Server_Response
|
|
|
- $response)</methodname>
|
|
|
- : Establece el objeto
|
|
|
- respuesta para el servidor a utilizar.
|
|
|
- </para>
|
|
|
+ $response)</methodname> : Establece el objeto
|
|
|
+ respuesta para el servidor a utilizar. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getResponse()</methodname>
|
|
|
- : Recupera el
|
|
|
- objeto respuesta usado por el servidor.
|
|
|
- </para>
|
|
|
+ <methodname>getResponse()</methodname> : Recupera el
|
|
|
+ objeto respuesta usado por el servidor. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setAutoEmitResponse($flag)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setAutoEmitResponse($flag)</methodname> :
|
|
|
Indica si el servidor debería emitir automáticamente la
|
|
|
- respuesta y todas
|
|
|
- las cabeceras; por defecto, esto es
|
|
|
- verdadero.
|
|
|
- </para>
|
|
|
+ respuesta y todas las cabeceras; por defecto, esto es
|
|
|
+ <constant>TRUE</constant>. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>autoEmitResponse()</methodname>
|
|
|
- : Determina
|
|
|
- si la auto-emisión de la respuesta está
|
|
|
- habilitada.
|
|
|
+ <methodname>autoEmitResponse()</methodname> : Determina
|
|
|
+ si la auto-emisión de la respuesta está habilitada.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getServiceMap()</methodname>
|
|
|
- : Recupera la
|
|
|
+ <methodname>getServiceMap()</methodname> : Recupera la
|
|
|
descripción del mapa de servicio en el form de un objeto
|
|
|
- <classname>Zend_Json_Server_Smd</classname>
|
|
|
- .
|
|
|
+ <classname>Zend_Json_Server_Smd</classname> .
|
|
|
</para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
@@ -366,298 +296,208 @@ $server->handle();
|
|
|
<sect3 id="zend.json.server.details.zendjsonserverrequest">
|
|
|
<title>Zend_Json_Server_Request</title>
|
|
|
|
|
|
- <para>
|
|
|
- El medio ambiente de una solicitud JSON-RPC está encapsulado
|
|
|
- en el objeto
|
|
|
- <classname>Zend_Json_Server_Request</classname>
|
|
|
- .
|
|
|
+ <para> El medio ambiente de una solicitud JSON-RPC está encapsulado
|
|
|
+ en el objeto <classname>Zend_Json_Server_Request</classname> .
|
|
|
Este objeto le permite establecer porciones necesarias de la
|
|
|
- solicitud JSON-RPC,
|
|
|
- incluida el ID de la solicitud, parámetros y
|
|
|
- especificaciones de la versión JSON-RPC.
|
|
|
- Tiene la capacidad de
|
|
|
+ solicitud JSON-RPC, incluida el ID de la solicitud, parámetros y
|
|
|
+ especificaciones de la versión JSON-RPC. Tiene la capacidad de
|
|
|
cargarse a sí mismo via JSON o un conjunto de opciones, y puede
|
|
|
mostrase a si mismo como JSON vía el método
|
|
|
- <methodname>toJson()</methodname>
|
|
|
- .
|
|
|
- </para>
|
|
|
+ <methodname>toJson()</methodname> . </para>
|
|
|
|
|
|
- <para>El objeto solicitud tiene los siguientes métodos disponibles:</para>
|
|
|
+ <para>El objeto solicitud tiene los siguientes métodos
|
|
|
+ disponibles:</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setOptions(array $options)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setOptions(array $options)</methodname> :
|
|
|
Especifica la configuración del objeto.
|
|
|
- <varname>$options</varname>
|
|
|
- puede contener claves
|
|
|
+ <varname>$options</varname> puede contener claves
|
|
|
que concuerden con cualuier método 'set':
|
|
|
- <methodname>setParams()</methodname>
|
|
|
- ,
|
|
|
- <methodname>setMethod()</methodname>
|
|
|
- ,
|
|
|
- <methodname>setId()</methodname>
|
|
|
- , y
|
|
|
- <methodname>setVersion()</methodname>
|
|
|
- .
|
|
|
- </para>
|
|
|
+ <methodname>setParams()</methodname> ,
|
|
|
+ <methodname>setMethod()</methodname> ,
|
|
|
+ <methodname>setId()</methodname> , y
|
|
|
+ <methodname>setVersion()</methodname> . </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>addParam($value, $key =
|
|
|
- null)</methodname>
|
|
|
- : Agrega un parámetro para usar con el
|
|
|
- método de llamada. Los parámetros
|
|
|
- pueden ser sólo los
|
|
|
- valores, o pueden incluir opcionalmente el nombre del
|
|
|
- parámetro.
|
|
|
- </para>
|
|
|
+ <methodname>addParam($value, $key = null)</methodname> :
|
|
|
+ Agrega un parámetro para usar con el método de llamada.
|
|
|
+ Los parámetros pueden ser sólo los valores, o pueden
|
|
|
+ incluir opcionalmente el nombre del parámetro. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>addParams(array $params)</methodname>
|
|
|
- :
|
|
|
+ <methodname>addParams(array $params)</methodname> :
|
|
|
Agrega múltiples parámetros a la vez; proxies a
|
|
|
- <methodname>addParam()</methodname>
|
|
|
+ <methodname>addParam()</methodname>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setParams(array $params)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setParams(array $params)</methodname> :
|
|
|
Establece todos los parámetros a la vez; sobrescribe
|
|
|
- cualquiera de los
|
|
|
- parámetros existentes.
|
|
|
- </para>
|
|
|
+ cualquiera de los parámetros existentes. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getParam($index)</methodname>
|
|
|
- : Recupera un
|
|
|
- parámetro por posición o por el nombre.
|
|
|
- </para>
|
|
|
+ <methodname>getParam($index)</methodname> : Recupera un
|
|
|
+ parámetro por posición o por el nombre. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getParams()</methodname>
|
|
|
- : Recupera todos
|
|
|
- los parámetros a la vez.
|
|
|
- </para>
|
|
|
+ <methodname>getParams()</methodname> : Recupera todos
|
|
|
+ los parámetros a la vez. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setMethod($name)</methodname>
|
|
|
- : Establece
|
|
|
- el método para llamar.
|
|
|
- </para>
|
|
|
+ <methodname>setMethod($name)</methodname> : Establece el
|
|
|
+ método para llamar. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getMethod()</methodname>
|
|
|
- : Recupera el
|
|
|
- método que será llamado.
|
|
|
- </para>
|
|
|
+ <methodname>getMethod()</methodname> : Recupera el
|
|
|
+ método que será llamado. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>isMethodError()</methodname>
|
|
|
- : Determinar
|
|
|
- si la solicitud está malformada o no y si daría como
|
|
|
- resultado un
|
|
|
- error.
|
|
|
- </para>
|
|
|
+ <methodname>isMethodError()</methodname> : Determinar si
|
|
|
+ la solicitud está malformada o no y si daría como
|
|
|
+ resultado un error. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setId($name)</methodname>
|
|
|
- : Establecer el
|
|
|
+ <methodname>setId($name)</methodname> : Establecer el
|
|
|
identificador de solicitud(utilizado por el cliente para
|
|
|
- igualar las solicitudes de respuestas).
|
|
|
- </para>
|
|
|
+ igualar las solicitudes de respuestas). </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getId()</methodname>
|
|
|
- : Recuperar el
|
|
|
- identificador de solicitudes.
|
|
|
- </para>
|
|
|
+ <methodname>getId()</methodname> : Recuperar el
|
|
|
+ identificador de solicitudes. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setVersion($version)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setVersion($version)</methodname> :
|
|
|
Establecer la versión de la especificación JSON-RPC que
|
|
|
- conforma la
|
|
|
- solicitud. Puede ser '1.0' o '2.0'.
|
|
|
- </para>
|
|
|
+ conforma la solicitud. Puede ser '1.0' o '2.0'. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getVersion()</methodname>
|
|
|
- : Recuperar la
|
|
|
+ <methodname>getVersion()</methodname> : Recuperar la
|
|
|
versión de la especificación JSON-RPC utilizados por la
|
|
|
- solicitud.
|
|
|
- </para>
|
|
|
+ solicitud. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>loadJson($json)</methodname>
|
|
|
- : Cargar el
|
|
|
- objeto solicitud de una cadena JSON.
|
|
|
- </para>
|
|
|
+ <methodname>loadJson($json)</methodname> : Cargar el
|
|
|
+ objeto solicitud de una cadena JSON. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>toJson()</methodname>
|
|
|
- : Mostrar la
|
|
|
- solicitud como un string JSON.
|
|
|
- </para>
|
|
|
+ <methodname>toJson()</methodname> : Mostrar la solicitud
|
|
|
+ como un string JSON. </para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
- <para>
|
|
|
- Una versión específica de
|
|
|
- <acronym>HTTP</acronym>
|
|
|
- está disponible a través de
|
|
|
- <classname>Zend_Json_Server_Request_Http</classname>
|
|
|
- . Esta
|
|
|
+ <para> Una versión específica de <acronym>HTTP</acronym> está
|
|
|
+ disponible a través de
|
|
|
+ <classname>Zend_Json_Server_Request_Http</classname> . Esta
|
|
|
clase podrá recuperar la solicitud via
|
|
|
- <methodname>php://input</methodname>
|
|
|
- , y permite el acceso
|
|
|
+ <methodname>php://input</methodname> , y permite el acceso
|
|
|
JSON sin procesar vía el método
|
|
|
- <methodname>getRawJson()</methodname>
|
|
|
- .
|
|
|
- </para>
|
|
|
+ <methodname>getRawJson()</methodname> . </para>
|
|
|
</sect3>
|
|
|
|
|
|
<sect3 id="zend.json.server.details.zendjsonserverresponse">
|
|
|
<title>Zend_Json_Server_Response</title>
|
|
|
|
|
|
- <para>
|
|
|
- La respuesta del conjunto de datos JSON-RPC es encapsulada en
|
|
|
- el objeto
|
|
|
- <classname>Zend_Json_Server_Response</classname>
|
|
|
- . Este
|
|
|
- objeto le permite ajustar el valor de retorno de la solicitud,
|
|
|
- siendo la
|
|
|
- respuesta un error o no, el identificador de
|
|
|
- solicitud, con que versión de
|
|
|
- especificación esta conformada la
|
|
|
- respuesta de JSON-RPC, y, opcionalmente el mapa de
|
|
|
- servicio.
|
|
|
- </para>
|
|
|
+ <para> La respuesta del conjunto de datos JSON-RPC es encapsulada en
|
|
|
+ el objeto <classname>Zend_Json_Server_Response</classname> .
|
|
|
+ Este objeto le permite ajustar el valor de retorno de la
|
|
|
+ solicitud, siendo la respuesta un error o no, el identificador
|
|
|
+ de solicitud, con que versión de especificación esta conformada
|
|
|
+ la respuesta de JSON-RPC, y, opcionalmente el mapa de servicio. </para>
|
|
|
|
|
|
- <para>El objeto respuesta tiene los siguientes métodos disponibles:</para>
|
|
|
+ <para>El objeto respuesta tiene los siguientes métodos
|
|
|
+ disponibles:</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setResult($value)</methodname>
|
|
|
- : Establecer
|
|
|
- el resultado de la respuesta.
|
|
|
- </para>
|
|
|
+ <methodname>setResult($value)</methodname> : Establecer
|
|
|
+ el resultado de la respuesta. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getResult()</methodname>
|
|
|
- : Recuperar el
|
|
|
- resultado de la respuesta.
|
|
|
- </para>
|
|
|
+ <methodname>getResult()</methodname> : Recuperar el
|
|
|
+ resultado de la respuesta. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<methodname>setError(Zend_Json_Server_Error
|
|
|
- $error)</methodname>
|
|
|
- : Establecer un objeto error. Si
|
|
|
- ya está, este será utilizado como la
|
|
|
- respuesta cuando se
|
|
|
- serialize a JSON.
|
|
|
- </para>
|
|
|
+ $error)</methodname> : Establecer un objeto error.
|
|
|
+ Si ya está, este será utilizado como la respuesta cuando
|
|
|
+ se serialize a JSON. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getError()</methodname>
|
|
|
- : Recuperar el
|
|
|
- objeto error, si lo hubiera.
|
|
|
- </para>
|
|
|
+ <methodname>getError()</methodname> : Recuperar el
|
|
|
+ objeto error, si lo hubiera. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>isError()</methodname>
|
|
|
- : Si la respuesta es
|
|
|
- una respuesta de error o no.
|
|
|
- </para>
|
|
|
+ <methodname>isError()</methodname> : Si la respuesta es
|
|
|
+ una respuesta de error o no. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setId($name)</methodname>
|
|
|
- : Establecer el
|
|
|
+ <methodname>setId($name)</methodname> : Establecer el
|
|
|
identificador de solicitud (de manera que la respuesta
|
|
|
- del
|
|
|
- cliente pueda coincidir con la solicitud original).
|
|
|
+ del cliente pueda coincidir con la solicitud original).
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getId()</methodname>
|
|
|
- : Recuperar el
|
|
|
- identificador de solicitud.
|
|
|
- </para>
|
|
|
+ <methodname>getId()</methodname> : Recuperar el
|
|
|
+ identificador de solicitud. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setVersion($version)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setVersion($version)</methodname> :
|
|
|
Establecer la versión JSON-RPC con la que deba estar
|
|
|
- conformada la
|
|
|
- respuesta.
|
|
|
- </para>
|
|
|
+ conformada la respuesta. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getVersion()</methodname>
|
|
|
- : Recuperar la
|
|
|
- versión JSON-RPC con la cumple la respuesta.
|
|
|
- </para>
|
|
|
+ <methodname>getVersion()</methodname> : Recuperar la
|
|
|
+ versión JSON-RPC con la cumple la respuesta. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>toJson()</methodname>
|
|
|
- : Serializar la
|
|
|
+ <methodname>toJson()</methodname> : Serializar la
|
|
|
respuesta a JSON. Si la respuesta es una respuesta de
|
|
|
- error,
|
|
|
- serializar el objeto error.
|
|
|
- </para>
|
|
|
+ error, serializar el objeto error. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setServiceMap($serviceMap)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setServiceMap($serviceMap)</methodname> :
|
|
|
Establecer el objeto mapa de servicio para la respuesta.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getServiceMap()</methodname>
|
|
|
- : Recuperar el
|
|
|
- objeto mapa de servicio, si hubiera alguno.
|
|
|
- </para>
|
|
|
+ <methodname>getServiceMap()</methodname> : Recuperar el
|
|
|
+ objeto mapa de servicio, si hubiera alguno. </para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
- <para>
|
|
|
- Una versión específica de
|
|
|
- <acronym>HTTP</acronym>
|
|
|
- está disponible a través de
|
|
|
- <classname>Zend_Json_Server_Response_Http</classname>
|
|
|
- . Esta
|
|
|
- clase enviará las cabeceras
|
|
|
- <acronym>HTTP</acronym>
|
|
|
- apropiadas así como serializará
|
|
|
- la respuesta como
|
|
|
- <acronym>JSON</acronym>
|
|
|
- .
|
|
|
+ <para> Una versión específica de <acronym>HTTP</acronym> está
|
|
|
+ disponible a través de
|
|
|
+ <classname>Zend_Json_Server_Response_Http</classname> . Esta
|
|
|
+ clase enviará las cabeceras <acronym>HTTP</acronym> apropiadas
|
|
|
+ así como serializará la respuesta como <acronym>JSON</acronym> .
|
|
|
</para>
|
|
|
</sect3>
|
|
|
|
|
|
@@ -665,92 +505,65 @@ $server->handle();
|
|
|
<title>Zend_Json_Server_Error</title>
|
|
|
|
|
|
<para>JSON-RPC tiene un formato especial para informar condiciones
|
|
|
- de error. Todos los
|
|
|
- errores necesitan proporcionar, mínimamente,
|
|
|
- un mensaje de error y un código de
|
|
|
- error; opcionalmente, pueden
|
|
|
+ de error. Todos los errores necesitan proporcionar, mínimamente,
|
|
|
+ un mensaje de error y un código de error; opcionalmente, pueden
|
|
|
proporcionar datos adicionales, tales como un backtrace.</para>
|
|
|
|
|
|
- <para>
|
|
|
- Los códigos de error derivan de los recomendados por
|
|
|
- <ulink url="http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php">el
|
|
|
- proyecto XML-RPC EPI</ulink>
|
|
|
- .
|
|
|
- <classname>Zend_Json_Server</classname>
|
|
|
- apropiadamente
|
|
|
+ <para> Los códigos de error derivan de los recomendados por <ulink
|
|
|
+ url="http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php"
|
|
|
+ >el proyecto XML-RPC EPI</ulink> .
|
|
|
+ <classname>Zend_Json_Server</classname> apropiadamente
|
|
|
asigna el código sobre la base de la condición de error. Para
|
|
|
- las
|
|
|
- excepciones de la aplicación, se utiliza el código '-32000'.
|
|
|
- </para>
|
|
|
+ las excepciones de la aplicación, se utiliza el código '-32000'. </para>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Json_Server_Error</classname>
|
|
|
- expone los
|
|
|
- siguientes métodos:
|
|
|
- </para>
|
|
|
+ <classname>Zend_Json_Server_Error</classname> expone los
|
|
|
+ siguientes métodos: </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setCode($code)</methodname>
|
|
|
- : Establece el
|
|
|
+ <methodname>setCode($code)</methodname> : Establece el
|
|
|
código de error; si el código de error no está en el
|
|
|
- rango de
|
|
|
- aceptación de XML-RPC, -32000 será
|
|
|
- asignado.
|
|
|
+ rango de aceptación de XML-RPC, -32000 será asignado.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getCode()</methodname>
|
|
|
- : Recuperar el
|
|
|
- actual código de error.
|
|
|
- </para>
|
|
|
+ <methodname>getCode()</methodname> : Recuperar el actual
|
|
|
+ código de error. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setMessage($message)</methodname>
|
|
|
- :
|
|
|
- Establecer el mensaje de error.
|
|
|
- </para>
|
|
|
+ <methodname>setMessage($message)</methodname> :
|
|
|
+ Establecer el mensaje de error. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getMessage()</methodname>
|
|
|
- : Recuperar el
|
|
|
- mensaje de error actual.
|
|
|
- </para>
|
|
|
+ <methodname>getMessage()</methodname> : Recuperar el
|
|
|
+ mensaje de error actual. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setData($data)</methodname>
|
|
|
- : Establecer el
|
|
|
+ <methodname>setData($data)</methodname> : Establecer el
|
|
|
conjunto de datos auxiliares para calificar más adelante
|
|
|
- el
|
|
|
- error, tal como un backtrace.
|
|
|
- </para>
|
|
|
+ el error, tal como un backtrace. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getData()</methodname>
|
|
|
- : Recuperar
|
|
|
- cualquier auxiliar actual de errores de datos.
|
|
|
- </para>
|
|
|
+ <methodname>getData()</methodname> : Recuperar cualquier
|
|
|
+ auxiliar actual de errores de datos. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>toArray()</methodname>
|
|
|
- : Mandar el error a
|
|
|
+ <methodname>toArray()</methodname> : Mandar el error a
|
|
|
un array. El array contendrá las claves 'code',
|
|
|
- 'message', y 'data'.
|
|
|
- </para>
|
|
|
+ 'message', y 'data'. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>toJson()</methodname>
|
|
|
- : Mandar el error a
|
|
|
- una representación de error JSON-RPC.
|
|
|
- </para>
|
|
|
+ <methodname>toJson()</methodname> : Mandar el error a
|
|
|
+ una representación de error JSON-RPC. </para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
</sect3>
|
|
|
@@ -758,498 +571,335 @@ $server->handle();
|
|
|
<sect3 id="zend.json.server.details.zendjsonserversmd">
|
|
|
<title>Zend_Json_Server_Smd</title>
|
|
|
|
|
|
- <para>
|
|
|
- SMD quiere decir Service Mapping Description, un esquema JSON
|
|
|
- que define cómo un
|
|
|
- cliente puede interactuar con un servicio web
|
|
|
- en particular. En el momento de
|
|
|
- escribir esto, la
|
|
|
- <ulink
|
|
|
+ <para> SMD quiere decir Service Mapping Description, un esquema JSON
|
|
|
+ que define cómo un cliente puede interactuar con un servicio web
|
|
|
+ en particular. En el momento de escribir esto, la <ulink
|
|
|
url="http://groups.google.com/group/json-schema/web/service-mapping-description-proposal"
|
|
|
- >especificación</ulink>
|
|
|
- todavía no ha sido ratificada
|
|
|
- oficialmente, pero ya está en uso en Dojo toolkit así
|
|
|
- como en
|
|
|
- otros clientes consumidores de JSON-RPC.
|
|
|
- </para>
|
|
|
-
|
|
|
- <para>
|
|
|
- En su aspecto más básico, un SMD indica el método de
|
|
|
- transporte (POST, GET, TCP/IP,
|
|
|
- etc), el tipo de envoltura de la
|
|
|
- solicitud (generalmente se basa en el protocolo del
|
|
|
- servidor),
|
|
|
- el objetivo
|
|
|
- <acronym>URL</acronym>
|
|
|
- del proveedor del servicio, y
|
|
|
- un mapa de los servicios disponibles. En el caso de
|
|
|
- JSON-RPC, el
|
|
|
+ >especificación</ulink> todavía no ha sido ratificada
|
|
|
+ oficialmente, pero ya está en uso en Dojo toolkit así como en
|
|
|
+ otros clientes consumidores de JSON-RPC. </para>
|
|
|
+
|
|
|
+ <para> En su aspecto más básico, un SMD indica el método de
|
|
|
+ transporte (POST, GET, TCP/IP, etc), el tipo de envoltura de la
|
|
|
+ solicitud (generalmente se basa en el protocolo del servidor),
|
|
|
+ el objetivo <acronym>URL</acronym> del proveedor del servicio, y
|
|
|
+ un mapa de los servicios disponibles. En el caso de JSON-RPC, el
|
|
|
servicio de mapa es una lista de los métodos disponibles, en el
|
|
|
- que cada
|
|
|
- método documenta los parámetros disponibles y sus
|
|
|
- tipos, así como los tipos de
|
|
|
- valores esperados a devolver.
|
|
|
- </para>
|
|
|
+ que cada método documenta los parámetros disponibles y sus
|
|
|
+ tipos, así como los tipos de valores esperados a devolver. </para>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Json_Server_Smd</classname>
|
|
|
- Proporciona un
|
|
|
+ <classname>Zend_Json_Server_Smd</classname> Proporciona un
|
|
|
objeto orientado para construir servicios de mapas. Básicamente,
|
|
|
- pasa
|
|
|
- los metadatos describiendo el servicio usando mutators, y
|
|
|
- especifica los servicios
|
|
|
- (métodos y funciones).
|
|
|
- </para>
|
|
|
+ pasa los metadatos describiendo el servicio usando mutators, y
|
|
|
+ especifica los servicios (métodos y funciones). </para>
|
|
|
|
|
|
- <para>
|
|
|
- Las descripciones de los servicios son típicamente instancias
|
|
|
- de
|
|
|
- <classname>Zend_Json_Server_Smd_Service</classname>
|
|
|
- ; también
|
|
|
+ <para> Las descripciones de los servicios son típicamente instancias
|
|
|
+ de <classname>Zend_Json_Server_Smd_Service</classname> ; también
|
|
|
puede pasar toda la información como un array a los diversos
|
|
|
- mutators de
|
|
|
- servicios en
|
|
|
- <classname>Zend_Json_Server_Smd</classname>
|
|
|
- , y que
|
|
|
+ mutators de servicios en
|
|
|
+ <classname>Zend_Json_Server_Smd</classname> , y que
|
|
|
instanciará on objeto de servicio por usted. Los objetos de
|
|
|
- servicio contienen
|
|
|
- información como el nombre del servicio
|
|
|
- (típicamente, la función o el nombre del
|
|
|
- método), los parámetros
|
|
|
+ servicio contienen información como el nombre del servicio
|
|
|
+ (típicamente, la función o el nombre del método), los parámetros
|
|
|
(nombres, tipos y posición), y el tipo del valor de retorno.
|
|
|
Opcionalmente, cada servicio puede tener su propio objetivo y
|
|
|
- envoltura, aunque esta
|
|
|
- funcionalidad rara vez es utilizada.
|
|
|
- </para>
|
|
|
+ envoltura, aunque esta funcionalidad rara vez es utilizada. </para>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Json_Server</classname>
|
|
|
- Realmente todo esto
|
|
|
+ <classname>Zend_Json_Server</classname> Realmente todo esto
|
|
|
sucede entre bambalinas para usted, utilizando reflexión sobre
|
|
|
las clases y funciones agregadas; debe crear su propio servicio
|
|
|
- de mapas sólo si
|
|
|
- necesita brindar funcionalidad personalizada
|
|
|
- que la introspección de clase y función
|
|
|
- no puede ofrecer.
|
|
|
- </para>
|
|
|
+ de mapas sólo si necesita brindar funcionalidad personalizada
|
|
|
+ que la introspección de clase y función no puede ofrecer. </para>
|
|
|
|
|
|
- <para>
|
|
|
- Los métodos disponibles en
|
|
|
- <classname>Zend_Json_Server_Smd</classname>
|
|
|
- incluyen:
|
|
|
- </para>
|
|
|
+ <para> Los métodos disponibles en
|
|
|
+ <classname>Zend_Json_Server_Smd</classname> incluyen: </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setOptions(array $options)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setOptions(array $options)</methodname> :
|
|
|
Establecer un objeto SMD desde un array de opciones.
|
|
|
- Todos los mutators
|
|
|
- (métodos comenzando con 'set') se
|
|
|
- pueden usar como claves.
|
|
|
- </para>
|
|
|
+ Todos los mutators (métodos comenzando con 'set') se
|
|
|
+ pueden usar como claves. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setTransport($transport)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setTransport($transport)</methodname> :
|
|
|
Establecer el transporte usado para acceder al servicio;
|
|
|
- únicamente POST es
|
|
|
- actualmente soportado.
|
|
|
- </para>
|
|
|
+ únicamente POST es actualmente soportado. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getTransport()</methodname>
|
|
|
- : Obtener el
|
|
|
- servicio de transporte actual.
|
|
|
- </para>
|
|
|
+ <methodname>getTransport()</methodname> : Obtener el
|
|
|
+ servicio de transporte actual. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setEnvelope($envelopeType)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setEnvelope($envelopeType)</methodname> :
|
|
|
Establecer la envoltura de la solicitud que debería ser
|
|
|
- utilizada para
|
|
|
- acceder al servicio. Actualmente las
|
|
|
+ utilizada para acceder al servicio. Actualmente las
|
|
|
constantes soportadas son
|
|
|
- <constant>Zend_Json_Server_Smd::ENV_JSONRPC_1</constant>
|
|
|
+ <constant>Zend_Json_Server_Smd::ENV_JSONRPC_1</constant>
|
|
|
y
|
|
|
- <constant>Zend_Json_Server_Smd::ENV_JSONRPC_1</constant>
|
|
|
- .
|
|
|
- </para>
|
|
|
+ <constant>Zend_Json_Server_Smd::ENV_JSONRPC_1</constant>
|
|
|
+ . </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getEnvelope()</methodname>
|
|
|
- : Obtener la
|
|
|
- envoltura de la petición actual.
|
|
|
- </para>
|
|
|
+ <methodname>getEnvelope()</methodname> : Obtener la
|
|
|
+ envoltura de la petición actual. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setContentType($type)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setContentType($type)</methodname> :
|
|
|
Establecer el tipo de contenido que deben utilizar las
|
|
|
- solicitudes (por
|
|
|
- defecto, es 'application/json»).
|
|
|
+ solicitudes (por defecto, es 'application/json»).
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getContentType()</methodname>
|
|
|
- : Conseguir
|
|
|
- el tipo del contenido actual para las solicitudes al
|
|
|
- servicio.
|
|
|
- </para>
|
|
|
+ <methodname>getContentType()</methodname> : Conseguir el
|
|
|
+ tipo del contenido actual para las solicitudes al
|
|
|
+ servicio. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setTarget($target)</methodname>
|
|
|
- :
|
|
|
- Establecer el punto final de la
|
|
|
- <acronym>URL</acronym>
|
|
|
- para el servicio.
|
|
|
- </para>
|
|
|
+ <methodname>setTarget($target)</methodname> : Establecer
|
|
|
+ el punto final de la <acronym>URL</acronym> para el
|
|
|
+ servicio. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getTarget()</methodname>
|
|
|
- : Obtener el punto
|
|
|
- final de la
|
|
|
- <acronym>URL</acronym>
|
|
|
- para el
|
|
|
- servicio.
|
|
|
+ <methodname>getTarget()</methodname> : Obtener el punto
|
|
|
+ final de la <acronym>URL</acronym> para el servicio.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setId($id)</methodname>
|
|
|
- : Normalmente, este
|
|
|
- es el punto final de la
|
|
|
- <acronym>URL</acronym>
|
|
|
- del
|
|
|
- servicio (igual que el objetivo).
|
|
|
- </para>
|
|
|
+ <methodname>setId($id)</methodname> : Normalmente, este
|
|
|
+ es el punto final de la <acronym>URL</acronym> del
|
|
|
+ servicio (igual que el objetivo). </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getId()</methodname>
|
|
|
- : Recuperar el ID del
|
|
|
+ <methodname>getId()</methodname> : Recuperar el ID del
|
|
|
servicio (normalmente el punto final de la
|
|
|
- <acronym>URL</acronym>
|
|
|
- del servicio).
|
|
|
- </para>
|
|
|
+ <acronym>URL</acronym> del servicio). </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setDescription($description)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setDescription($description)</methodname> :
|
|
|
Establecer una descripción del servicio (típicamente
|
|
|
- información narrativa
|
|
|
- que describe el propósito del
|
|
|
- servicio).
|
|
|
- </para>
|
|
|
+ información narrativa que describe el propósito del
|
|
|
+ servicio). </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getDescription()</methodname>
|
|
|
- : Obtener la
|
|
|
- descripción del servicio.
|
|
|
- </para>
|
|
|
+ <methodname>getDescription()</methodname> : Obtener la
|
|
|
+ descripción del servicio. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setDojoCompatible($flag)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setDojoCompatible($flag)</methodname> :
|
|
|
Establecer un flag que indique si el SMD es compatible o
|
|
|
- no con el toolkit
|
|
|
- de Dojo. Cuando sea verdadero, el
|
|
|
- <acronym>JSON</acronym>
|
|
|
- SMD será formateado para cumplir con el formato que
|
|
|
- espera el cliente de Dojo
|
|
|
- JSON-RPC.
|
|
|
- </para>
|
|
|
+ no con el toolkit de Dojo. Cuando sea verdadero, el
|
|
|
+ <acronym>JSON</acronym> SMD será formateado para
|
|
|
+ cumplir con el formato que espera el cliente de Dojo
|
|
|
+ JSON-RPC. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>isDojoCompatible()</methodname>
|
|
|
- : Devuelve
|
|
|
- el valor del flag de compatibilidad de Dojo (falso, por
|
|
|
- defecto).
|
|
|
- </para>
|
|
|
+ <methodname>isDojoCompatible()</methodname> : Devuelve
|
|
|
+ el valor del flag de compatibilidad de Dojo (<constant>FALSE</constant>, por
|
|
|
+ defecto). </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>addService($service)</methodname>
|
|
|
- : Añade
|
|
|
- un servicio al mapa. Puede ser un array de información a
|
|
|
- pasar al
|
|
|
- constructor de
|
|
|
- <classname>Zend_Json_Server_Smd_Service</classname>
|
|
|
- ,
|
|
|
- o una instancia de esa clase.
|
|
|
- </para>
|
|
|
+ <methodname>addService($service)</methodname> : Añade un
|
|
|
+ servicio al mapa. Puede ser un array de información a
|
|
|
+ pasar al constructor de
|
|
|
+ <classname>Zend_Json_Server_Smd_Service</classname>
|
|
|
+ , o una instancia de esa clase. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>addServices(array $services)</methodname>
|
|
|
- :
|
|
|
- Agrega múltiples servicios a la vez.
|
|
|
- </para>
|
|
|
+ <methodname>addServices(array $services)</methodname> :
|
|
|
+ Agrega múltiples servicios a la vez. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setServices(array $services)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setServices(array $services)</methodname> :
|
|
|
Agrega múltiples servicios a la vez, sobreescribiendo
|
|
|
- cualquiera de los
|
|
|
- servicios previamente establecidos.
|
|
|
+ cualquiera de los servicios previamente establecidos.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getService($name)</methodname>
|
|
|
- : Ontiene el
|
|
|
- servicio por su nombre.
|
|
|
- </para>
|
|
|
+ <methodname>getService($name)</methodname> : Ontiene el
|
|
|
+ servicio por su nombre. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getServices()</methodname>
|
|
|
- : Obtener todos
|
|
|
- los servicios agregados.
|
|
|
- </para>
|
|
|
+ <methodname>getServices()</methodname> : Obtener todos
|
|
|
+ los servicios agregados. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>removeService($name)</methodname>
|
|
|
- : Elimina
|
|
|
- un servicio del mapa.
|
|
|
- </para>
|
|
|
+ <methodname>removeService($name)</methodname> : Elimina
|
|
|
+ un servicio del mapa. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>toArray()</methodname>
|
|
|
- : Mandar el mapa de
|
|
|
- servicio a un array.
|
|
|
- </para>
|
|
|
+ <methodname>toArray()</methodname> : Mandar el mapa de
|
|
|
+ servicio a un array. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>toDojoArray()</methodname>
|
|
|
- : Mandar el mapa
|
|
|
- de servicio a un array compatible con Dojo
|
|
|
- Toolkit.
|
|
|
+ <methodname>toDojoArray()</methodname> : Mandar el mapa
|
|
|
+ de servicio a un array compatible con Dojo Toolkit.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>toJson()</methodname>
|
|
|
- : Mandar el mapa de
|
|
|
- servicio a una representación JSON.
|
|
|
- </para>
|
|
|
+ <methodname>toJson()</methodname> : Mandar el mapa de
|
|
|
+ servicio a una representación JSON. </para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Json_Server_Smd_Service</classname>
|
|
|
- tiene los
|
|
|
- siguientes métodos:
|
|
|
- </para>
|
|
|
+ <classname>Zend_Json_Server_Smd_Service</classname> tiene los
|
|
|
+ siguientes métodos: </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setOptions(array $options)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setOptions(array $options)</methodname> :
|
|
|
Establecer el estado del objeto dede un array. Cualquier
|
|
|
- mutator (métodos
|
|
|
- comenzando con 'set') puede ser
|
|
|
- utilizado como una clave y establecerlo
|
|
|
- mediante este
|
|
|
- método.
|
|
|
- </para>
|
|
|
+ mutator (métodos comenzando con 'set') puede ser
|
|
|
+ utilizado como una clave y establecerlo mediante este
|
|
|
+ método. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setName($name)</methodname>
|
|
|
- : Establecer el
|
|
|
+ <methodname>setName($name)</methodname> : Establecer el
|
|
|
nombre del servicio (típicamente, la función o el nombre
|
|
|
- del
|
|
|
- método).
|
|
|
- </para>
|
|
|
+ del método). </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getName()</methodname>
|
|
|
- : Recuperar el
|
|
|
- nombre del servicio.
|
|
|
- </para>
|
|
|
+ <methodname>getName()</methodname> : Recuperar el nombre
|
|
|
+ del servicio. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setTransport($transport)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setTransport($transport)</methodname> :
|
|
|
Establecer el servicio de transporte (actualmente, sólo
|
|
|
- transportes apoyados
|
|
|
- por
|
|
|
- <classname>Zend_Json_Server_Smd</classname>
|
|
|
- son
|
|
|
- permitidos).
|
|
|
- </para>
|
|
|
+ transportes apoyados por
|
|
|
+ <classname>Zend_Json_Server_Smd</classname> son
|
|
|
+ permitidos). </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getTransport()</methodname>
|
|
|
- : Recuperar el
|
|
|
- transporte actual.
|
|
|
- </para>
|
|
|
+ <methodname>getTransport()</methodname> : Recuperar el
|
|
|
+ transporte actual. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setTarget($target)</methodname>
|
|
|
- :
|
|
|
- Establecer el punto final de la
|
|
|
- <acronym>URL</acronym>
|
|
|
- del servicio (típicamente, este será el mismo que el SMD
|
|
|
- en general, al cual
|
|
|
- el servicio está agregado).
|
|
|
- </para>
|
|
|
+ <methodname>setTarget($target)</methodname> : Establecer
|
|
|
+ el punto final de la <acronym>URL</acronym> del servicio
|
|
|
+ (típicamente, este será el mismo que el SMD en general,
|
|
|
+ al cual el servicio está agregado). </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getTarget()</methodname>
|
|
|
- : Obtener el punto
|
|
|
- final de la
|
|
|
- <acronym>URL</acronym>
|
|
|
- del servicio.
|
|
|
- </para>
|
|
|
+ <methodname>getTarget()</methodname> : Obtener el punto
|
|
|
+ final de la <acronym>URL</acronym> del servicio. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setEnvelope($envelopeType)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setEnvelope($envelopeType)</methodname> :
|
|
|
Establecer la envoltura del servicio (actualmente, sólo
|
|
|
- se permiten las
|
|
|
- envolturas soportadas por
|
|
|
- <classname>Zend_Json_Server_Smd</classname>
|
|
|
- .
|
|
|
+ se permiten las envolturas soportadas por
|
|
|
+ <classname>Zend_Json_Server_Smd</classname> .
|
|
|
</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getEnvelope()</methodname>
|
|
|
- : Recuperar el
|
|
|
- tipo de envoltura del servicio.
|
|
|
- </para>
|
|
|
+ <methodname>getEnvelope()</methodname> : Recuperar el
|
|
|
+ tipo de envoltura del servicio. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<methodname>addParam($type, array $options = array(),
|
|
|
- $order = null)</methodname>
|
|
|
- : Añadir un parámetro
|
|
|
- para el servicio. Por defecto, sólo el tipo de
|
|
|
- parámetro
|
|
|
+ $order = null)</methodname> : Añadir un parámetro
|
|
|
+ para el servicio. Por defecto, sólo el tipo de parámetro
|
|
|
es necesario. Sin embargo, también puede especificar el
|
|
|
- orden, así
|
|
|
- como opciones tales como:
|
|
|
- </para>
|
|
|
+ orden, así como opciones tales como: </para>
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <emphasis>name</emphasis>
|
|
|
- : el nombre del
|
|
|
- parámetro
|
|
|
- </para>
|
|
|
+ <emphasis>name</emphasis> : el nombre del
|
|
|
+ parámetro </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <emphasis>optional</emphasis>
|
|
|
- : cuándo el
|
|
|
- parámetro es opcional o no
|
|
|
- </para>
|
|
|
+ <emphasis>optional</emphasis> : cuándo el
|
|
|
+ parámetro es opcional o no </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <emphasis>default</emphasis>
|
|
|
- : un valor por
|
|
|
- defecto para el parámetro
|
|
|
- </para>
|
|
|
+ <emphasis>default</emphasis> : un valor por
|
|
|
+ defecto para el parámetro </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <emphasis>description</emphasis>
|
|
|
- : texto
|
|
|
- describiendo el parámetro
|
|
|
- </para>
|
|
|
+ <emphasis>description</emphasis> : texto
|
|
|
+ describiendo el parámetro </para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>addParams(array $params)</methodname>
|
|
|
- :
|
|
|
+ <methodname>addParams(array $params)</methodname> :
|
|
|
Agregar varios parámetros a la vez; cada param debería
|
|
|
- ser un array
|
|
|
- asociativo conteniendo mínimamente la clave
|
|
|
- 'type' describiendo el tipo de
|
|
|
- parámetro y,
|
|
|
+ ser un array asociativo conteniendo mínimamente la clave
|
|
|
+ 'type' describiendo el tipo de parámetro y,
|
|
|
opcionalmente la clave 'order'; cualquiera de las otras
|
|
|
- claves
|
|
|
- serán pasados como
|
|
|
- <varname>$options</varname>
|
|
|
- a
|
|
|
- <methodname>addOption()</methodname>
|
|
|
- .
|
|
|
- </para>
|
|
|
+ claves serán pasados como <varname>$options</varname> a
|
|
|
+ <methodname>addOption()</methodname> . </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setParams(array $params)</methodname>
|
|
|
- :
|
|
|
+ <methodname>setParams(array $params)</methodname> :
|
|
|
Establecer muchos parámetros a la vez, sobrescribiendo
|
|
|
- cualquiera de los
|
|
|
- parámetros existentes.
|
|
|
- </para>
|
|
|
+ cualquiera de los parámetros existentes. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getParams()</methodname>
|
|
|
- : Recuperar todos
|
|
|
- los parámetros actualmente establecidos.
|
|
|
- </para>
|
|
|
+ <methodname>getParams()</methodname> : Recuperar todos
|
|
|
+ los parámetros actualmente establecidos. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>setReturn($type)</methodname>
|
|
|
- : Establecer
|
|
|
- el tipo del valor de retorno del servicio.
|
|
|
- </para>
|
|
|
+ <methodname>setReturn($type)</methodname> : Establecer
|
|
|
+ el tipo del valor de retorno del servicio. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getReturn()</methodname>
|
|
|
- : Obtener el tipo
|
|
|
- del valor de retorno del servicio.
|
|
|
- </para>
|
|
|
+ <methodname>getReturn()</methodname> : Obtener el tipo
|
|
|
+ del valor de retorno del servicio. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>toArray()</methodname>
|
|
|
- : Mandar el servicio
|
|
|
- a un array.
|
|
|
- </para>
|
|
|
+ <methodname>toArray()</methodname> : Mandar el servicio
|
|
|
+ a un array. </para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>toJson()</methodname>
|
|
|
- : Mandar el servicio
|
|
|
- a una representación
|
|
|
- <acronym>JSON</acronym>
|
|
|
- .
|
|
|
- </para>
|
|
|
+ <methodname>toJson()</methodname> : Mandar el servicio a
|
|
|
+ una representación <acronym>JSON</acronym> . </para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
</sect3>
|