Condividi tramite


Richiamare i metodi del servizio business con oggetti di integrazione utilizzando l'adattatore Siebel

L'adattatore Siebel consente ai client adapter di richiamare i metodi del servizio business che funzionano con gli oggetti di integrazione. Questi servizi aziendali in genere dispongono di parametri IN, OUT o IN OUT di tipo di dati "hierarchy" per inviare o ricevere dati dell'oggetto di integrazione.

L'adattatore Siebel espone questi tipi gerarchici come stringhe. Questi valori stringa sono essenzialmente una stringa XML incapsulata in una sezione XML CDATA. La stringa XML è compatibile con l'XML Schema dell'oggetto di integrazione che il client dell'adattatore sta tentando di inviare o ricevere.

Esempio basato su questo argomento

Un esempio, SiebelAdapterIntegrationObjects, basato su questo argomento viene fornito anche con bizTalk Adapter Pack. Per altre informazioni, vedere Esempi per l'adapter Siebel.

Creare un'orchestrazione per richiamare i metodi del servizio aziendale utilizzando oggetti di integrazione

La creazione di un'orchestrazione per richiamare un metodo di servizio aziendale che accetta i parametri dell'oggetto di integrazione è simile all'orchestrazione per richiamare qualsiasi altro servizio aziendale, come descritto in Richiamare metodi del servizio business tramite BizTalk Server e l'adapter Siebel.

La differenza risiede nel messaggio di richiesta che si rilascia per l'orchestrazione. Questa differenza è dovuta ai seguenti:

  • Lo schema per il messaggio di richiesta è diverso perché si richiama un servizio aziendale diverso.

  • Il messaggio di richiesta contiene la stringa XML per l'oggetto di integrazione. Questo codice XML è incapsulato in una sezione CDATA. È innanzitutto necessario generare lo schema per l'oggetto di integrazione e quindi creare un codice XML conforme allo schema. Questo codice XML deve essere passato all'interno della sezione CDATA del messaggio di richiesta inviato all'adapter.

    Dopo aver generato il codice XML conforme allo schema dell'oggetto di integrazione e includerlo nel messaggio di richiesta, è necessario eliminare il messaggio di richiesta in un percorso FILE, proprio come per qualsiasi altra orchestrazione. Cerca il messaggio di risposta in un'altra posizione del FILE.

Messaggi di richiesta e risposta per richiamare il servizio business con oggetti di integrazione

Come accennato in precedenza, l'unica differenza per richiamare un servizio aziendale che accetta i parametri dell'oggetto di integrazione è il messaggio di richiesta inviato all'adapter. Questa sezione fornisce istruzioni sui passaggi da eseguire per creare il messaggio di richiesta.

Per una migliore comprensione, prendere un servizio aziendale Siebel 'EAI Siebel Adapter' come esempio. Il servizio aziendale "EAI Siebel Adapter" opera su un Siebel oggetto di integrazione, "Sample Account". Per richiamare un metodo esposto dal servizio business "EAI Siebel Adapter", è necessario eseguire le attività seguenti per creare il messaggio di richiesta:

  • Generare lo schema per il servizio business EAI Siebel Adapter. Per generare lo schema, è necessario utilizzare il componente aggiuntivo Consume Adapter Service. Dopo aver generato lo schema, generare il codice XML conforme allo schema.

  • Generare lo schema per l'oggetto di integrazione. Usare Siebel Tools per generare lo schema per un oggetto di integrazione. Nell'interfaccia Siebel Tools selezionare l'oggetto di integrazione, ad esempio Account di esempio e fare clic su Genera schema. Durante la generazione dello schema, assicurarsi di:

    • L'elenco a discesa Selezionare un servizio business ha il valore "Generatore XSD XML EAI".

    • L'elenco a discesa Selezionare un tipo di busta ha il valore "Siebel Message Envelope".

      Per altre informazioni, vedere la documentazione di Siebel.

  • Creare un messaggio XML conforme allo schema dell'oggetto di integrazione. Un messaggio XML di esempio generato per l'oggetto di integrazione 'Account di esempio' è simile al seguente:

    <?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>  
    
  • Passare questo messaggio XML come valore per l'elemento CDATA nel messaggio di richiesta per il metodo del servizio business. Un messaggio di richiesta di esempio che contiene il messaggio XML precedente all'interno di un elemento CDATA è simile al seguente. Questa richiesta di esempio consiste nel richiamare il metodo Insert per il servizio aziendale "Adattatore Siebel 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 risposta di Siebel per il messaggio di richiesta precedente è simile alla seguente:

    <?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>  
    

    Usando le funzionalità BizTalk, i client dell'adapter possono anche eseguire una convalida aggiuntiva del parametro IN e OUT dell'oggetto di integrazione nello schema dell'oggetto di integrazione (ottenuto da Siebel Tools).

Vedere anche

Sviluppare applicazioni BizTalk usando l'adapter Siebel
Sviluppare applicazioni Siebel