Invocación de métodos de servicio empresarial con objetos de integración mediante el adaptador de Siebel
El adaptador de Siebel permite a los clientes del adaptador invocar métodos de servicio de negocio que funcionan con objetos de integración. Estos servicios empresariales suelen tener parámetros IN, OUT o IN OUT del tipo de datos "hierarchy" para enviar o recibir datos de objetos de integración.
El adaptador de Siebel expone estos tipos jerárquicos como cadenas. Estos valores de cadena son básicamente una cadena XML encapsulada en una sección CDATA XML. La cadena XML es compatible con el esquema XML del objeto de integración que el cliente del adaptador está intentando enviar o recibir.
Ejemplo basado en este tema
También se proporciona un ejemplo, SiebelAdapterIntegrationObjects, basado en este tema, con el paquete de adaptadores de BizTalk. Para obtener más información, vea Ejemplos para el adaptador de Siebel.
Creación de una orquestación para invocar métodos de servicio empresarial con objetos de integración
La creación de una orquestación para invocar un método de servicio empresarial que toma parámetros de objeto de integración es similar a la orquestación para invocar cualquier otro servicio empresarial, como se describe en Invocar métodos de servicio de negocio mediante BizTalk Server y el adaptador de Siebel.
La diferencia se encuentra en el mensaje de solicitud que se quita para la orquestación. Esta diferencia se debe a lo siguiente:
El esquema del mensaje de solicitud es diferente porque se invoca un servicio empresarial diferente.
El mensaje de solicitud contiene la cadena XML para el objeto de integración. Este XML se encapsula en una sección CDATA. Primero debe generar el esquema para el objeto de integración y, a continuación, crear un XML que se ajuste al esquema. Este XML debe pasarse dentro de la sección CDATA del mensaje de solicitud enviado al adaptador.
Después de haber generado el XML que se ajusta al esquema de objetos de integración y lo ha incluido en el mensaje de solicitud, debe quitar el mensaje de solicitud en una ubicación FILE, al igual que lo hace para cualquier otra orquestación. Busque el mensaje de respuesta en la otra ubicación FILE.
Mensajes de solicitud y respuesta para invocar el servicio empresarial con objetos de integración
Como se mencionó anteriormente, la única diferencia para invocar un servicio empresarial que toma parámetros de objeto de integración es el mensaje de solicitud enviado al adaptador. En esta sección se proporcionan instrucciones sobre los pasos que debe realizar para crear el mensaje de solicitud.
Para comprender mejor, tome un servicio empresarial de Siebel "Adaptador de Siebel EAI" como ejemplo. El servicio empresarial "Adaptador de Siebel de EAI" funciona en un objeto de integración de Siebel, "Cuenta de ejemplo". Debe realizar las siguientes tareas para crear el mensaje de solicitud para invocar un método expuesto por el servicio empresarial "Adaptador siebel de EAI":
Genere el esquema para el servicio empresarial adaptador de Siebel de EAI. Debe usar el complemento de servicio consumir adaptador para generar el esquema. Una vez que genere el esquema, genere el XML que se ajusta al esquema.
Genere el esquema para el objeto de integración. Use Herramientas de Siebel para generar esquema para un objeto de integración. En la interfaz de Herramientas de Siebel, seleccione el objeto de integración, por ejemplo, Cuenta de ejemplo y haga clic en Generar esquema. Al generar el esquema, asegúrese de:
La lista desplegable Seleccionar un servicio empresarial tiene el valor "Generador XSD XML de EAI".
El tipo Seleccionar un sobre de la lista desplegable tiene el valor "Siebel Message Envelope".
Para obtener más información, consulte la documentación de Siebel.
Cree un mensaje XML que se ajuste al esquema del objeto de integración. Un mensaje XML de ejemplo generado para el objeto de integración "Sample Account" tiene el siguiente aspecto:
<?xml version="1.0" encoding="UTF-16"?> <SiebelMessage MessageId="" IntObjectName="Sample Account" MessageType="Integration Object" IntObjectFormat="Siebel Hierarchical"> <ListOfSampleAccount> <Account> <CurrencyCode>USD</CurrencyCode> <Location>Redmond</Location> <Name>IntegrationObjectTest</Name> </Account> </ListOfSampleAccount> </SiebelMessage>
Pase este mensaje XML como el valor del elemento CDATA en el mensaje de solicitud para el método de servicio empresarial. Un mensaje de solicitud de ejemplo que contiene el mensaje XML anterior dentro de un elemento CDATA tiene el siguiente aspecto. Esta solicitud de ejemplo es invocar el método Insert para el servicio empresarial "Adaptador de Siebel de EAI".
<Insert xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessServices/EAI_x0020_Siebel_x0020_Adapter/Operation"> <InsertRequestRecord /> <InsertInOutRecord> <SiebelMessage xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessServices/EAI_x0020_Siebel_x0020_Adapter"> <![CDATA[ <?xml version="1.0" encoding="UTF-16"?> <SiebelMessage MessageId="" IntObjectName="Sample Account" MessageType="Integration Object" IntObjectFormat="Siebel Hierarchical"> <ListOfSampleAccount> <Account> <CurrencyCode>USD</CurrencyCode> <Location>Redmond</Location> <Name>IntegrationObjectTest</Name> </Account> </ListOfSampleAccount> </SiebelMessage> ]]> </SiebelMessage> </InsertInOutRecord> </Insert>
La respuesta de Siebel para el mensaje de solicitud anterior es similar a la siguiente:
<?xml version="1.0" encoding="utf-8" ?> <InsertResponse xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessServices/EAI_x0020_Siebel_x0020_Adapter/Operation"> <InsertResult> <ErrorCode xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessServices/EAI_x0020_Siebel_x0020_Adapter">0x0</ErrorCode> <ErrorContextIntComp xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessServices/EAI_x0020_Siebel_x0020_Adapter" /> <ErrorContextSearchSpec xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessServices/EAI_x0020_Siebel_x0020_Adapter" /> <ErrorSymbol xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessServices/EAI_x0020_Siebel_x0020_Adapter" /> <OMErrorCode xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessServices/EAI_x0020_Siebel_x0020_Adapter" /> <OMErrorSymbol xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessServices/EAI_x0020_Siebel_x0020_Adapter" /> <PrimaryRowId xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessServices/EAI_x0020_Siebel_x0020_Adapter">1-6SPSJ</PrimaryRowId> </InsertResult> <InsertInOutRecord> <SiebelMessage xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessServices/EAI_x0020_Siebel_x0020_Adapter"> <![CDATA[ <?xml version="1.0" encoding="UTF-16"?> <SiebelMessage MessageId="" IntObjectName="Sample Account" MessageType="Integration Object" IntObjectFormat="Siebel Hierarchical"> <ListOfSampleAccount> <Account> <CurrencyCode>USD</CurrencyCode> <Location>Redmond</Location> <Name>IntegrationObjectTest</Name> </Account> </ListOfSampleAccount> </SiebelMessage> ]]> </SiebelMessage> </InsertInOutRecord> </InsertResponse>
Con las características de BizTalk, los clientes de adaptador también pueden realizar una validación adicional del parámetro IN y OUT del objeto de integración en el esquema de objetos de integración (obtenido de Siebel Tools).
Consulte también
Desarrollo de aplicaciones de BizTalk con el adaptador de Siebel
Desarrollar aplicaciones de Siebel