jueves, 22 de octubre de 2015

Usted puede hacer cualquiera de los componentes de ColdFusion a disposición de cualquier sistema que desea en internet mediante su publicación como un servicio web. ColdFusion hace que este muy fácil de hacer. De hecho, sólo tiene que añadir un atributo(acceso "distancia") a cualquiera de los métodos de su componente para convertirlo en un servicio web.
En la práctica, sin embargo, va a determinar los requisitos antes de la creación de sus servicios web.

Creación de ColdFusion Web Services

Aquí, voy a tratar de utilizar un escenario de "la vida real".
Digamos que usted vende libros y quiere otras empresas para poder hacer publicidad de sus libros en su propio sitio web (lo llamaremos el "sitio remoto"). Si un usuario hace clic en el anuncio en el sitio remoto, se les redirige a su sitio web (donde se intenta su más duro para cerrar la venta y dirigir al usuario a su carrito de compras!)
Cree el siguiente componente y guardarlo como "book.cfc"
 
<Cfcomponent> 
<cffunction nombre = "listBooks"
acceso = "remota"
returntype = "cadena"
de salida = "no">


<Cfargument nombre = "categoría"
tipo = "cadena"
requerido = "sí">


<cfset Var Booklist = "">

<cfset Var getBooks = "">

<Cfquery nombre = "getBooks" datasource = "# application.dsn #">
SELECT ISBN, booktitle, Teaser, Precio

De los libros

DONDE categoría = '# # categoría'

ORDER BY desc Precio

</ Cfquery>

< cfsavecontent variable = " BookList " >
< books >
< cfoutput query = " getBooks " >
< book id = " #ISBN# " >
< booktitle > #XMLFormat(BookTitle)# </ booktitle >
< teaser > #XMLFormat(Teaser)# </ teaser >
< price > #XMLFormat(Price)# </ price >
</ book >
</ cfoutput >
</ books >
</ cfsavecontent >

<Cfreturn Booklist>
</ cffunction>
</ cfcomponent>
Los datos de salidas de servicio web anteriores en formato XML para que los sistemas remotos (y potencialmente no ColdFusion) puedan leerlo. Esto puede ser la óptima mediante la creación de un método que recupera datos de una base de datos. Luego recorre el conjunto de registros utilizando el CFOUTPUT etiqueta. Como se recorre, se marca a cada campo con etiquetas XML y laXMLformat () función y luego guardarlo todo a una variable utilizando el cfsavecontent etiqueta. Esta variable es lo que el método devuelve a la página de llamada.

Exámenes / llamar a sus ColdFusion Web Services

Debe probar sus servicios web a fondo antes de la publicación para el consumo externo.
 
< cfinvoke 
method = " listBooks "
returnvariable = " rawXMLBookList "
webservice = " http://yourdomain.com/web_services/book.cfc?wsdl " >


<Cfinvokeargument nombre = "categoría" valor = "123">
</ cfinvoke>

<cfset computerBooks = XMLPARSE (rawXMLBookList)>


<Cfdump var = "# computerBooks #">
El código anterior llama al servicio web utilizando la dirección URL que el servicio web se encuentra en. Anexado a la URL es wsdl.Esto le dice a ColdFusion para generar la descripción WSDL para el servicio web. Esto permite que la persona que llama (también conocido como de los consumidores) para interactuar con el servicio web.


Este ejemplo utiliza el cfdump etiqueta para mostrar los resultados del XML devuelto por el servicio Web. En la práctica, el consumidor tendría el XML y transformarlo en su idioma requerido utilizando XSL Transformaciones (Extensible Stylesheet LanguageTransformations). El método para hacer esto dependerá de la plataforma de consumir el servicio web. Una de las mejores cosas acerca de XML es que se puede transformar en cualquier idioma desea el consumidor.

0 comentarios :

Publicar un comentario