Aufrufen von Geschäftsdienstmethoden mit Integrationsobjekten mithilfe des Siebel-Adapters
Mit dem Siebel-Adapter können Adapterclients Geschäftsdienstmethoden aufrufen, die mit Integrationsobjekten funktionieren. Diese Geschäftsdienste verfügen in der Regel über IN-, OUT- oder IN OUT-Parameter des Datentyps "hierarchy", um Integrationsobjektdaten zu senden oder zu empfangen.
Der Siebel-Adapter macht diese hierarchischen Typen als Zeichenfolgen verfügbar. Diese Zeichenfolgenwerte sind im Wesentlichen eine XML-Zeichenfolge, die in einem XML-CDATA-Abschnitt gekapselt ist. Die XML-Zeichenfolge ist mit dem XML-Schema des Integrationsobjekts kompatibel, das der Adapterclient senden oder empfangen möchte.
Beispiel basierend auf diesem Thema
Ein Beispiel, SiebelAdapterIntegrationObjects, basierend auf diesem Thema, wird auch mit dem BizTalk-Adapterpaket bereitgestellt. Weitere Informationen finden Sie unter Beispiele für den Siebel-Adapter.
Erstellen einer Orchestrierung zum Aufrufen von Geschäftsdienstmethoden mit Integrationsobjekten
Das Erstellen einer Orchestrierung zum Aufrufen einer Geschäftsdienstmethode, die Integrationsobjektparameter akzeptiert, ähnelt der Orchestrierung zum Aufrufen eines anderen Geschäftsdiensts, wie unter Aufrufen von Geschäftsdienstmethoden mit BizTalk Server und dem Siebel-Adapter beschrieben.
Der Unterschied liegt in der Anforderungsnachricht, die Sie für die Orchestrierung ablegen. Dieser Unterschied ist auf Folgendes zurückzuführen:
Das Schema für die Anforderungsnachricht unterscheidet sich, da Sie einen anderen Geschäftsdienst aufrufen.
Die Anforderungsnachricht enthält die XML-Zeichenfolge für das Integrationsobjekt. Dieser XML-Code wird in einem CDATA-Abschnitt gekapselt. Sie müssen zunächst das Schema für das Integrationsobjekt generieren und dann einen XML-Code erstellen, der dem Schema entspricht. Dieser XML-Code muss innerhalb des CDATA-Abschnitts der an den Adapter gesendeten Anforderungsnachricht übergeben werden.
Nachdem Sie den XML-Code generiert haben, der dem Integrationsobjektschema entspricht, und sie in die Anforderungsnachricht eingefügt haben, müssen Sie die Anforderungsnachricht wie bei jeder anderen Orchestrierung an einem FILE-Speicherort ablegen. Suchen Sie am anderen FILE-Speicherort nach der Antwortnachricht.
Anforderungs- und Antwortnachrichten zum Aufrufen des Geschäftsdiensts mit Integrationsobjekten
Wie bereits erwähnt, ist der einzige Unterschied beim Aufrufen eines Geschäftsdiensts, der Integrationsobjektparameter akzeptiert, die Anforderungsnachricht, die an den Adapter gesendet wird. Dieser Abschnitt enthält Anweisungen zu den Schritten, die Sie zum Erstellen der Anforderungsnachricht ausführen müssen.
Ein besseres Verständnis finden Sie als Beispiel für den Siebel-Geschäftsdienst "EAI Siebel Adapter". Der Geschäftsdienst "EAI Siebel Adapter" arbeitet auf einem Siebel-Integrationsobjekt, dem Beispielkonto. Sie müssen die folgenden Aufgaben ausführen, um die Anforderungsnachricht zum Aufrufen einer Methode zu erstellen, die vom Geschäftsdienst "EAI Siebel Adapter" verfügbar gemacht wird:
Generieren Sie das Schema für den EAI-Siebel-Adapter-Geschäftsdienst. Sie müssen das Add-In Adapterdienst nutzen, um das Schema zu generieren. Nachdem Sie das Schema generiert haben, generieren Sie den XML-Code, der dem Schema entspricht.
Generieren Sie das Schema für das Integrationsobjekt. Verwenden Sie Siebel Tools, um ein Schema für ein Integrationsobjekt zu generieren. Wählen Sie auf der Siebel Tools-Schnittstelle das Integrationsobjekt aus, z. B. Beispielkonto, und klicken Sie auf Schema generieren. Stellen Sie beim Generieren des Schemas folgendes sicher:
Die Dropdownliste Geschäftsdienst aus der Liste auswählen hat den Wert "EAI XML XSD Generator".
Die Dropdownliste Briefumschlagtyp aus der Liste auswählen hat den Wert "Siebel-Nachrichtenumschlag".
Weitere Informationen finden Sie in der Siebel-Dokumentation.
Erstellen Sie eine XML-Nachricht, die dem Schema des Integrationsobjekts entspricht. Eine XML-Beispielnachricht, die für das Integrationsobjekt "Beispielkonto" generiert wird, sieht wie folgt aus:
<?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>
Übergeben Sie diese XML-Nachricht als Wert für das CDATA-Element in der Anforderungsnachricht für die Geschäftsdienstmethode. Eine Beispielanforderungsnachricht, die die vorangehende XML-Nachricht in einem CDATA-Element enthält, sieht wie folgt aus. In dieser Beispielanforderung wird die Insert-Methode für den Geschäftsdienst "EAI Siebel Adapter" aufgerufen.
<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>
Die Antwort von Siebel für die obige Anforderungsnachricht sieht wie folgt aus:
<?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>
Mithilfe von BizTalk-Features können Adapterclients auch eine zusätzliche Validierung des Integrationsobjektparameters IN und OUT mit dem Integrationsobjektschema durchführen (abgerufen von Siebel Tools).
Weitere Informationen
Entwickeln von BizTalk-Anwendungen mithilfe des Siebel-Adapters
Entwickeln von Siebel-Anwendungen