Unofficial Content
  • This documentation is valid for:

English version

Los servicios Web suelen presentar varios métodos para facilitar su comprensión y uso. Así, por ejemplo, podemos tener un servicio CustomerServices con los métodos BasicInformation y PurchaseHistory. El código del procedimiento (servicio) CustomerServices será semejante al siguiente.

// CustomerServices services

Stub BasicInformation( in:&CustomerId, out:&BasicInformation)
For each
// Navigation to populate &BasicInformation
Endfor
EndStub

Stub PurchaseHistory( in:&CustomerId, out:&PurchaseHistory)
For each
// Navigation to populate &PurchaseHistory
Endfor
EndStub

El WSDL generado para un servicio con múltiples métodos como el anterior puede ser inspeccionado por otras Knowledge Bases GeneXus (Tools/Application Integration/WSDL Import), generando un objeto externo que tendrá los métodos del servicio y será utilizable como se indica a continuación.

&CustomerServices = new() 							// &CustomerServices’ data type is CustomerServices (the imported External Object)
&CustomerBasicInformation = &CustomerServices.BasicInformation( 1)
// Process information of Customer with Id = 1.
&CustomerBasicInformation = &CustomerServices.PurchaseHistory( 2)
// Process PurchaseHistory of Customer with Id = 2

Del mismo modo, el servicio generado puede ser inspeccionado y consumido por lenguajes de programación como C#, Java, etc.

Notas/Sugerencias de uso

  • Los objetos que tienen Stubs _no_ exponen el servicio “execute”.

Si fuera necesario mantenerlo (generalmente por compatibilidad) basta incluir un Stub con ese nombre (execute).

  • Los parámetros definidos en la regla parm() del objeto _no_ son considerados también parámetros de los Stubs
  • Los objetos con Stubs no deben tener código fuera de los bloques Stub/EndStub.

Disponibilidad

Los Stubs y la posibilidad de tener servicios con múltiples métodos aparece en los generadores Java y .Net de GeneXus X Evolution 1  Upgrade 2. Previo a ésta, los servicios sólo podían tener un único método denominado “execute”.

Last update: February 2024 | © GeneXus. All rights reserved. GeneXus Powered by Globant