Appeler des méthodes de service d’entreprise avec des objets d’intégration à l’aide de l’adaptateur Siebel
L’adaptateur Siebel permet aux clients d’adaptateur d’appeler des méthodes de service métier qui fonctionnent avec des objets d’intégration. Ces services métier ont généralement des paramètres IN, OUT ou IN OUT de type de données « hiérarchie » pour envoyer ou recevoir des données d’objet d’intégration.
L’adaptateur Siebel expose ces types hiérarchiques sous forme de chaînes. Ces valeurs de chaîne sont essentiellement une chaîne XML encapsulée dans une section CDATA XML. La chaîne XML est compatible avec le schéma XML de l’objet d’intégration que le client de l’adaptateur tente d’envoyer ou de recevoir.
Exemple basé sur cette rubrique
Un exemple, SiebelAdapterIntegrationObjects, basé sur cette rubrique, est également fourni avec le pack d’adaptateurs BizTalk. Pour plus d’informations, consultez Exemples pour l’adaptateur Siebel.
Création d’une orchestration pour appeler des méthodes business service avec des objets d’intégration
La création d’une orchestration pour appeler une méthode de service métier qui prend des paramètres d’objet d’intégration est similaire à l’orchestration pour appeler n’importe quel autre service d’entreprise, comme décrit dans Appeler des méthodes de service d’entreprise à l’aide de BizTalk Server et de l’adaptateur Siebel.
La différence réside dans le message de demande que vous déposez pour l’orchestration. Cette différence est due aux éléments suivants :
Le schéma du message de requête est différent, car vous appelez un autre service métier.
Le message de demande contient la chaîne XML de l’objet d’intégration. Ce code XML est encapsulé dans une section CDATA. Vous devez d’abord générer le schéma de l’objet d’intégration, puis créer un code XML conforme au schéma. Ce code XML doit être transmis dans la section CDATA du message de demande envoyé à l’adaptateur.
Une fois que vous avez généré le code XML conforme au schéma d’objet d’intégration et que vous l’avez inclus dans le message de demande, vous devez supprimer le message de demande à un emplacement FILE, comme vous le faites pour toute autre orchestration. Recherchez le message de réponse dans l’autre emplacement FILE.
Messages de demande et de réponse pour l’appel de Business Service avec des objets d’intégration
Comme mentionné précédemment, la seule différence pour appeler un service métier qui prend des paramètres d’objet d’intégration est le message de demande envoyé à l’adaptateur. Cette section fournit des instructions sur les étapes que vous devez effectuer pour créer le message de demande.
Pour une meilleure compréhension, prenez un service d’entreprise Siebel « EAI Siebel Adapter » comme exemple. Le service métier « EAI Siebel Adapter » fonctionne sur un objet d’intégration Siebel, « Sample Account ». Vous devez effectuer les tâches suivantes pour créer le message de demande afin d’appeler une méthode exposée par le service métier « EAI Siebel Adapter » :
Générez le schéma pour le service métier Adaptateur Siebel EAI. Vous devez utiliser le complément Consume Adapter Service pour générer le schéma. Une fois que vous avez généré le schéma, générez le code XML conforme au schéma.
Générez le schéma pour l’objet d’intégration. Utilisez Siebel Tools pour générer un schéma pour un objet d’intégration. Dans l’interface Siebel Tools, sélectionnez l’objet d’intégration, par exemple, Exemple de compte, puis cliquez sur Générer un schéma. Lors de la génération du schéma, vérifiez que :
La liste déroulante Sélectionner un service métier dans la liste a la valeur « Générateur XSD XML EAI ».
La liste déroulante Sélectionner un type d’enveloppe dans la liste a la valeur « Enveloppe de message Siebel ».
Pour plus d’informations, consultez la documentation Siebel.
Créez un message XML conforme au schéma de l’objet d’intégration. Un exemple de message XML généré pour l’objet d’intégration « Sample Account » ressemble à :
<?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>
Transmettez ce message XML comme valeur pour l’élément CDATA dans le message de demande pour la méthode de service métier. Un exemple de message de demande qui contient le message XML précédent dans un élément CDATA ressemble à ce qui suit. Cet exemple de demande consiste à appeler la méthode Insert pour le service métier « EAI Siebel Adapter ».
<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 réponse de Siebel pour le message de demande ci-dessus ressemble à ce qui suit :
<?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>
À l’aide des fonctionnalités BizTalk, les clients d’adaptateur peuvent également effectuer une validation supplémentaire des paramètres IN et OUT de l’objet d’intégration par rapport au schéma d’objet d’intégration (obtenu à partir de Siebel Tools.)
Voir aussi
Développer des applications BizTalk à l’aide de l’adaptateur Siebel
Développer vos applications Siebel