Una petición del JABÓN implicará el crear y el poblar de un sobre de la petición, que contiene toda la información requerida (según lo especificado por el documento de WSDL), transmitiendo ese sobre al servidor del API, y manejando la respuesta.
|
|
Una petición del JABÓN contiene generalmente todos los elementos siguientes:
Sobre del JABÓN — con las inclusiones del namespace.
Cuerpo del JABÓN — que define posiblemente namespaces adicionales.
La acción deseada — cómo se representa la acción deseada dependerá del API en la pregunta. Puede ser tan simple como un parámetro, o implique los namespaces adicionales.
Identificador único — de la llave A del revelador asignado por el servidor al solicitante.
Parámetros de la petición — que detallan la petición que es realizada.
Con esa información en mente, una petición del JABÓN puede ser generada.
<?xmlversion="1.0" que codifica = standalone="no" UTF-8
""? >
< SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
< SOAP-ENV:Body >
< devkey xsi:type="xsd:int">123</devkey >
< acción xsi:type="xsd:string">search</action >
< mecanografíe xsi:type="xsd:string">book</type >
< palabra clave xsi:type="xsd:string">style</keyword >
</SOAP-ENV:Body >
</SOAP-ENV:Envelope >
Los parámetros incluidos en la petición son fáciles de seleccionar, y aunque el mecanografiar variable no es de gran importancia para el desarrollo de PHP, viene en práctico para las idiomas más fuertemente mecanografiadas. El artículo que falta aquí es la punto final, hecha claramente en el ejemplo del RESTO porque era el URL a el cual la petición fue fijada. Las peticiones del JABÓN, por supuesto, se funcionan contra URIs especificado, que no necesitan re-ser especificadas dentro de la petición sí mismo.
La respuesta del JABÓN parecería esto:
<?xmlversion='1.0 ' encoding='UTF-8 '? >
< SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema" >
< SOAP-ENV:Body >
<
LibrarySearchResponsexmlns="http://library.example.com/api/ns" >
< RequestInfo >
< devkey xsi:type = "xsd:string">123</devkey >
< acción xsi:type="xsd:string">search</action >
< mecanografíe xsi:type="xsd:string">book</type >
< palabra clave xsi:type="xsd:string">style</keyword >
</RequestInfo >
< ResponseInfo >
< ResultCount>2</ResultCount >
< artículo >
< libro vol. 1</Title del título
xsi:type="xsd:string">Style >
< estado xsi:type="xsd:string">Out</Status >
< asimientos xsi:type="xsd:int">3</Holds >
< CopiesOnHand xsi:type="xsd:int">2</CopiesOnHand >
< autor xsi:type="xsd:string">Jon Doe</Author >
</artículo >
< artículo >
< libro vol. 2</Title del título
xsi:type="xsd:string">Style >
< estado xsi:type="xsd:string">In</Status >
< asimientos xsi:type="xsd:int">0</Holds >
< CopiesOnHand xsi:type="xsd:int">1</CopiesOnHand >
< autor xsi:type="xsd:string">Jon Doe</Author >
</artículo >
</ResponseInfo >
</LibrarySearchResponse >
</SOAP-ENV:Body >
</SOAP-ENV:Envelope >
La respuesta del JABÓN no es demasiado diferente de la respuesta del RESTO demostrada anterior. En hecho, mucho del espaciamiento conocido se podría omitir realmente (aunque es raro ver una respuesta del JABÓN sin ella), en el cual el punto, a excepción de la encapsulación adicional, los dos documentos sería muy similar.
Como usted debe poder discernir de la respuesta demostrada, se declara para ser XML 1.0 y utiliza UTF-8 para codificar. El elemento de SOAP-ENV:Envelope es el elemento de la raíz para el documento, y tiene threenamespaces, incluyendo el namespace de SOAP-ENV. El cuerpo entonces contiene el elemento de LibrarySearchResponse entre otras cosas, que también define su propio namespace.
El padre de RequestInfo sigue después de, y éste contiene los parámetros de la petición que generaron la respuesta que sigue encendido de allí. Que vuelve la petición parámetros con la respuesta es una ocurrencia común en JABÓN.
Finalmente, se vuelve la respuesta sí mismo. Note que el elemento de ResultCount se sienta como niño directo de ResponseInfo, y los artículos ellos mismos del resultado se almacenan otra vez bajo elemento de repetición, artículo.
Online: 847 users browsing the articles directory
|
|