Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
J. Enrique Vázquez R.
Contenido
1. Introducción……………………………………………………………………...…………....3
a. Oorspong…………………………………………………………………………...22
2
J. Enrique Vázquez R.
1. Introducción
Los Web Services son pequeños programas formados por varios componentes que permiten ser
publicados en directorios e invocados para su ejecución por otros programas vía http, generando
una respuesta en XML.
Quizás la ventaja principal de los Web Services es que se trata de un estándar aceptado y que, a
diferencia de otras tecnologías de integración, posibilitan la compartición de funcionalidades
entre sistemas heterogéneos de forma transparente, mediante el intercambio de datos vía XML.
Para este intercambio el único requisito es establecer conexiones TCP/IP posibilitando la
comunicación http entre los sistemas.
SOAP (Simple Object Access Protocol). Protocolo de comunicación, basado en XML, que sirve
para la invocación de los servicios Web a través de un protocolo de transporte, como HTTP.
Consta de tres partes: una descripción del contenido del mensaje, unas reglas para la codificación
de los tipos de datos en XML y una representación de las llamadas RPC para la invocación y
respuestas generadas por el Web Service.
WSDL (Web Service Description Language). Es un lenguaje basado en XML que se utiliza para
describir un Web Services. Un archivo con formato WSDL provee información de los distintos
métodos (operaciones) que el Web Services brinda, muestra cómo accederlos y que formatos
deben de tener los mensajes que se envían y se reciben.
Es como un contrato entre el proveedor del servicio y el cliente, en el cual el proveedor se
compromete a brindar ciertos servicios solo si el cliente envía un requerimiento con determinado
formato.
Es el documento principal a lo hora de documentar un Web Services, pero puede no ser el único.
En la mayoría de los casos es conveniente que este acompañado por un documento escrito en
lenguaje natural que brinde información de que es lo que hace cada uno de los métodos brindados
por el Web Service.
3
J. Enrique Vázquez R.
• Moneda, Char(3)
• Tcambio, Domain: Tcambio
parm(in:&Moneda, out:&TCambio);
4
J. Enrique Vázquez R.
8. Ejecutamos la aplicación F5
http://server/baseurl/aNombreWebService.aspx/?WSDL
http://localhost/TipoCambio16.NetEnvironment/aWSTCambio.aspx?WSDL
10. Si entramos al link anterior veremos el WSDL del web service WSTCambio
5
J. Enrique Vázquez R.
6
J. Enrique Vázquez R.
7
J. Enrique Vázquez R.
6. En el Web Form insertar una Tabla. Dentro de la tabla insertar un grid con los
siguientes atributos: ProductoId, ProductoNombre, ProductoPrecio,
ProductoPrecioMoneda. Insertamos la variable Pesos en otra celda de la tabla y a un
costado un texto MXP. Agregar un botón y asociarle el evento “Consultar” a través
de la Propiedad OnClickEvent / New.
8
J. Enrique Vázquez R.
Event 'Consultar'
&pesos= ProductoPrecio *
&WsTipoCambio.Execute(ProductoPrecioMoneda)
EndEvent
9. Ejecutamos la aplicación para probar el Web Panel que invoca al Web Service. Para
cotizar algún producto en pesos mexicanos. Seleccionar alguna línea del Grid y
después presionar el botón Consultar.
9
J. Enrique Vázquez R.
10
J. Enrique Vázquez R.
SDTMoneda
{
MonedaId
MonedaNombre
TipoCambio [count=1] order (MonedaTipoCambioFecha)
{
MonedaTipoCambioFecha
MonedaTipoCambioValor
}
}
11
J. Enrique Vázquez R.
El Data Provider ha quedado publicado como un Web Service, y podemos ver el WSDL
con el siguiente link:
http://localhost/TipoCambio16.NetEnvironment/DPTcambio.aspx?WSDL
12
J. Enrique Vázquez R.
http://localhost/TipoCambio16.NetEnvironment/DPTcambio.aspx?WSDL
7. Para consumir este Web Service creamos el Web Panel WP_Monedas. En la sección
de Variables damos de alta una variable Monedas de tipo de dato
DPTcambioSDTmoneda de tipo colección y una variable MonedasWS de tipo del
external object DPTcambio.
13
J. Enrique Vázquez R.
8. Desde la Toolbox Insertamos en el Web Form del Web Panel una tabla de 3 X 3. En
la celda superior de la tabla insertar la variable &Monedas. En el último renglón
agregar un Botón y asociarle el evento “Ver tipo de cambio” a través de la Propiedad
OnClickEvent / New.
14
J. Enrique Vázquez R.
10. Ejecutamos la aplicación para probar el Web Panel que invoca al Web Service.
Pregunta:
¿Por qué sale un solo precio para cada moneda y por qué ese valor?
15
J. Enrique Vázquez R.
Cliente
{
ClienteId= Numeric(4.0)
ClienteNombre= Char(20)
ClienteRFC= Char(20)
}
16
J. Enrique Vázquez R.
http://localhost/TipoCambio16.NetEnvironment/cliente_bc.aspx?WSDL
17
J. Enrique Vázquez R.
http://localhost/TipoCambio16.NetEnvironment/cliente_bc.aspx?WSDL
8. Crear un Web Panel WP_BCWS y en la sección de variables dar de alta las que se
muestran en la siguiente imagen:
18
J. Enrique Vázquez R.
9. En el Web Form insertar las variables &ClienteId, un botón ‘Ver Cliente’ y las
Variables &Id, &Nombre y &RFC como se muestra en la figura.
19
J. Enrique Vázquez R.
A través del Business Component publicado como Web Service y que consumimos en el
sistema FacturaWS podemos actualizar, Insertar o eliminar el registro en el sistema
TipoCambio.
Update
1. En el Web Panel WP_BCWS insertar tres nuevos botones y asociar los eventos
Update, Insert y Delete. Agregar también un error viewer.
20
J. Enrique Vázquez R.
Event 'Update'
&ErrorDes = &ws_bc.LoadKeySvc(&ClienteId,&Customer)
For &ErrItem in &ErrorDes
msg(&ErrItem.Description.ToString())
Endfor
&Customer.ClienteNombre= &Nombre
&Customer.ClienteRFC= &RFC
&ErrorDes = &ws_bc.SaveSvc(&Customer)
For &ErrItem in &ErrorDes
msg(&ErrItem.Description.ToString())
Endfor
EndEvent
Event 'Insert'
&Customer.Mode= 'INS'
&Customer.ClienteId= &Id
&Customer.ClienteNombre= &Nombre
&Customer.ClienteRFC= &RFC
&ErrorDes = &ws_bc.SaveSvc(&Customer)
For &ErrItem in &ErrorDes
msg(&ErrItem.Description.ToString())
Endfor
EndEvent
Event 'Delete'
&ErrorDes = &ws_bc.LoadKeySvc(&ClienteId,&Customer)
For &ErrItem in &ErrorDes
msg(&ErrItem.Description.ToString())
Endfor
&ErrorDes = &ws_bc.DeleteSvc(&Customer)
For &ErrItem in &ErrorDes
msg(&ErrItem.Description.ToString())
Endfor
EndEvent
21
J. Enrique Vázquez R.
Agregar algunos registros con el ISO code de 3 caracteres de los países, que pueden consultar
aquí:
https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
22