Freigeben über


Aufrufen von Business Service-Methoden mit Integrationsobjekten mithilfe des Siebel-Adapters

Der Siebel-Adapter ermöglicht Adapterclients das Aufrufen von Geschäftsdienstmethoden, die mit Integrationsobjekten funktionieren. Diese Geschäftsdienste verfügen in der Regel über IN-, OUT- oder IN OUT-Parameter des Datentyps "Hierarchie", 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 sendet oder empfängt.

Beispiel basierend auf diesem Thema

Ein Beispiel, SiebelAdapterIntegrationObjects, basierend auf diesem Thema, wird auch mit dem BizTalk Adapter Pack 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 verwendet, ähnelt der Orchestrierung, um alle anderen Geschäftsdienste aufzurufen, wie unter Invoke Business Service Methods Using BizTalk Server und dem Siebel-Adapter beschrieben.

Der Unterschied liegt in der Anforderungsnachricht, die Sie für die Orchestrierung ablegen. Dieser Unterschied besteht aus folgenden Gründen:

  • 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 zuerst das Schema für das Integrationsobjekt generieren und dann einen XML-Code erstellen, der dem Schema entspricht. Dieser XML-Code muss im CDATA-Abschnitt der an den Adapter gesendeten Anforderungsnachricht übergeben werden.

    Nachdem Sie den XML-Code generiert haben, der dem Integrationsobjektschema entspricht und es in die Anforderungsnachricht aufgenommen hat, müssen Sie die Anforderungsnachricht an einem FILE-Speicherort ablegen, genau wie bei jeder anderen Orchestrierung. Suchen Sie nach der Antwortnachricht am anderen DATEIspeicherort.

Anforderungs- und Antwortnachrichten für das Aufrufen von Business Service mit Integrationsobjekten

Wie bereits erwähnt, ist der einzige Unterschied beim Aufrufen eines Geschäftsdiensts, der Integrationsobjektparameter verwendet, die Anforderungsnachricht, die an den Adapter gesendet wird. Dieser Abschnitt enthält Anweisungen zu den Schritten, die Sie ausführen müssen, um die Anforderungsnachricht zu erstellen.

Um ein besseres Verständnis zu erhalten, nehmen Sie einen Siebel Business Service "EAI Siebel Adapter" als Beispiel. Der Geschäftsdienst "EAI Siebel Adapter" arbeitet mit einem Siebel-Integrationsobjekt , "Sample Account". Sie müssen die folgenden Aufgaben ausführen, um die Anforderungsnachricht zu erstellen, um eine Methode aufzurufen, die vom Geschäftsdienst "EAI Siebel Adapter" verfügbar gemacht wird:

  • Generieren Sie das Schema für den EAI Siebel Adapter Business Service. Sie müssen das Add-In "Consume-Adapterdienst" verwenden, 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:

    • Der Eintrag "Business Service auswählen" aus der Dropdownliste weist den Wert "EAI XML XSD Generator" auf.

    • Der Briefumschlagtyp aus der Dropdownliste "Briefumschlag auswählen " weist den Wert "Siebel Message Envelope" auf.

      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 "Sample Account" 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 vorhergehende XML-Nachricht in einem CDATA-Element enthält, sieht wie folgt aus. Diese Beispielanforderung besteht darin, die Insert-Methode für den Business-Dienst "EAI Siebel Adapter" aufzurufen.

    <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 oben genannte 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 zusätzliche Überprüfungen der IN- und OUT-Parameter des Integrationsobjekts gegen das Integrationsobjektschema durchführen, das von Siebel Tools abgerufen wurde.

Siehe auch

Entwickeln von BizTalk-Anwendungen mit dem Siebel-Adapter
Entwickeln Sie Ihre Siebel-Anwendungen