Condividi tramite


Richiamare rfc in SAP usando BizTalk Server

L'adattatore SAP espone le RFC esposte da un sistema SAP come operazioni che possono essere richiamate da un client di adattatore. Questa sezione fornisce istruzioni per richiamare un RFC in un sistema SAP usando l'adattatore SAP con Microsoft BizTalk Server. Per altre informazioni sul modo in cui l'adattatore SAP supporta la chiamata di un RFC in un sistema SAP, vedere Operazioni sulle RFC in SAP. Per altre informazioni sulla struttura del messaggio SOAP per richiamare un RFC, vedere Message Schemas for RFC Operations.For more information about the structure of SOAP message for invoking an RFC Operations, see Message Schemas for RFC Operations.

Come richiamare un RFC in un sistema SAP?

L'esecuzione di un'operazione in un sistema SAP tramite l'adattatore SAP con BizTalk Server comporta attività procedurali descritte in Blocchi predefiniti per creare applicazioni SAP. Per richiamare un RFC in un sistema SAP, queste attività sono:

  1. Creare un progetto BizTalk e generare lo schema per la RFC che si vuole richiamare nel sistema SAP.

  2. Creare messaggi nel progetto BizTalk per l'invio e la ricezione di messaggi dal sistema SAP.

  3. Creare un'orchestrazione per richiamare un RFC nel sistema SAP.

  4. Compilare e distribuire il progetto BizTalk.

  5. Configurare l'applicazione BizTalk creando porte di invio e ricezione fisiche.

  6. Avviare l'applicazione BizTalk.

    In questo argomento vengono fornite istruzioni per eseguire queste attività.

Generazione dello schema

In questo argomento viene illustrato come richiamare un RFC in un sistema SAP, viene generato lo schema per RFC_CUSTOMER_GET. Per altre informazioni su come generare lo schema , vedere Esplorare, cercare e ottenere metadati per le operazioni RFC in SAP .

Definizione di messaggi e tipi di messaggio

Lo schema generato in precedenza descrive i "tipi" necessari per i messaggi nell'orchestrazione. Un messaggio è in genere una variabile, il tipo per il quale è definito dallo schema corrispondente. È necessario collegare lo schema generato ai messaggi dalla visualizzazione Orchestrazione del progetto BizTalk.

Per questo argomento, è necessario creare due messaggi, uno per inviare una richiesta al sistema SAP e l'altra per ricevere una risposta.

Seguire questa procedura per creare messaggi e collegarli allo schema.

  1. Aprire la visualizzazione orchestrazione del progetto BizTalk, se non è già aperto. Fare clic su Visualizza, scegliere Altre finestre e fare clic su Visualizzazione orchestrazione.

  2. Nella visualizzazione orchestrazione fare clic con il pulsante destro del mouse su Messaggi e quindi scegliere Nuovo messaggio.

  3. Fare clic con il pulsante destro del mouse sul messaggio appena creato e scegliere Finestra Proprietà.

  4. Nel riquadro Proprietà per Message_1 eseguire le operazioni seguenti.

    Usare Per
    Identificatore Digitare Request.Type Request.
    Tipo di messaggio Nell'elenco a discesa espandere Schemi e selezionare InvokeRFC.SAPBindingSchema.RFC_CUSTOMER_GET, dove InvokeRFC è il nome del progetto BizTalk. SAPBindingSchema è lo schema generato per RFC_CUSTOMER_GET.
  5. Ripetere il passaggio precedente per creare un nuovo messaggio. Nel riquadro Proprietà del nuovo messaggio eseguire le operazioni seguenti.

    Usare Per
    Identificatore Tipo Risposta.
    Tipo di messaggio Nell'elenco a discesa espandere Schemi e selezionare InvokeRFC.SAPBindingSchema.RFC_CUSTOMER_GETResponse.

Configurazione dell'orchestrazione

È necessario creare un'orchestrazione BizTalk per usare BizTalk Server per richiamare le RFC nel sistema SAP. In questa orchestrazione si rilascia un messaggio di richiesta in una posizione di ricezione definita. L'adapter SAP utilizza il messaggio e lo passa al sistema SAP. La risposta dal sistema SAP viene salvata in un'altra posizione. Un'orchestrazione tipica per richiamare le RFC in un sistema SAP conterrà:

  • Inviare e ricevere forme per inviare messaggi al sistema SAP e ricevere risposte.

  • Porta di ricezione unidirezionale per ricevere messaggi di richiesta da inviare al sistema SAP.

  • Porta di trasmissione bidirezionale per inviare messaggi di richiesta al sistema SAP e ricevere risposte.

  • Porta di trasmissione unidirezionale per inviare le risposte dal sistema SAP a una cartella.

    Un'orchestrazione di esempio è simile alla seguente:

    Orchestrazione con porte connesse

Aggiunta di forme messaggio

Assicurarsi di specificare le proprietà seguenti per ognuna delle forme del messaggio. I nomi elencati nella colonna Shape sono i nomi delle forme messaggio visualizzate nell'orchestrazione precedente.

Forma Tipo di forma Proprietà
Receive_Request Ricevere - Impostare il nome su Receive_Request
- Impostare Attiva su True
Send_LOB Send - Impostare il nome su Send_LOB
Receive_LOB Ricevere - Impostare il nome su Receive_LOB
- Impostare Attiva su False
Send_Response Send - Impostare il nome su Send_Response

Aggiunta di porte

Specificare le proprietà seguenti per ognuna delle porte logiche. I nomi elencati nella colonna Porta sono i nomi delle porte visualizzate nell'orchestrazione.

Porta Proprietà
ReceiveMsgPort - Impostare l'identificatore su ReceiveMsgPort
- Impostare il tipo su ReceiveMsgPortType
- Impostare il modello di comunicazionesu unidirezionale
- Impostare la direzione di comunicazione da ricevere
SendToLOBPort - Impostare l'identificatore su SendToLOBPort
- Impostare il tipo su SendToLOBPortType
- Impostare il modello di comunicazione su Request-Response
- Impostare la direzione di comunicazione su Send-Receive
SendMsgPort - Impostare l'identificatore su SendMsgPort
- Impostare il tipo su SendMsgPortType
- Impostare il modello di comunicazionesu unidirezionale
- Impostare la direzione di comunicazione su Invia

Specificare i messaggi per le forme azione e connettersi alle porte

La tabella seguente specifica le proprietà e i relativi valori da impostare per specificare i messaggi per le forme di azione e collegarli alle porte. I nomi elencati nella colonna Shape sono i nomi delle forme del messaggio visualizzate nell'orchestrazione precedente.

Forma Proprietà
Receive_Request - Impostare messaggio su richiesta
- Impostare l'operazione su ReceiveMsgPort.Operation_1.Request
Send_LOB - Impostare messaggio su richiesta
- Impostare l'operazione su SendToLOBPort.Operation_1.Request
Receive_LOB - Impostare messaggio su risposta
- Impostare l'operazione su SendToLOBPort.Operation_1.Response
Send_Response - Impostare messaggio su risposta
- Impostare l'operazione su SendMsgPort.Operation_1.Request

Dopo aver specificato queste proprietà, le forme e le porte del messaggio sono connesse e la orchestrazione è stata completata.

È ora necessario compilare la soluzione BizTalk e distribuirla in un BizTalk Server. Per altre informazioni, vedere Creazione e esecuzione di orchestrazioni.

Configurazione dell'applicazione BizTalk

Dopo aver distribuito il progetto BizTalk, l'orchestrazione creata in precedenza è elencata nel riquadro Orchestrazioni nella console di amministrazione di BizTalk Server. È necessario usare la console di amministrazione BizTalk Server per configurare l'applicazione. Per altre informazioni sulla configurazione di un'applicazione, vedere Come configurare un'applicazione.

La configurazione di un'applicazione comporta:

  • Selezione di un host per l'applicazione.

  • Mapping delle porte create nell'orchestrazione alle porte fisiche nella console di amministrazione di BizTalk Server. Per questa orchestrazione è necessario:

    • Definire un percorso sul disco rigido e una porta file corrispondente in cui verrà visualizzato un messaggio di richiesta. L'orchestrazione BizTalk utilizzerà il messaggio di richiesta e lo invierà al sistema SAP.

    • Definire un percorso sul disco rigido e una porta file corrispondente in cui l'orchestrazione BizTalk rilascia il messaggio di risposta contenente la risposta dal sistema SAP.

    • Definire una porta di trasmissione fisica WCF-Custom o WCF-SAP per inviare messaggi al sistema SAP. È anche necessario specificare l'azione nella porta di invio. Per informazioni su come creare porte, vedere Configurare manualmente un'associazione di porte fisiche alla scheda SAP.

      Nota

      La generazione dello schema usando il componente aggiuntivo Del progetto BizTalk del servizio adapter crea anche un file di associazione contenente informazioni sulle porte e sulle azioni da impostare per tali porte. È possibile importare questo file di associazione dalla console di amministrazione di BizTalk Server per creare porte di invio (per le chiamate in uscita) o le porte di ricezione (per le chiamate in ingresso). Per altre informazioni, vedere Configurare un'associazione di porte fisiche usando un file di associazione di porte a SAP.

Avvio dell'applicazione

È necessario avviare l'applicazione BizTalk per richiamare un RFC nel sistema SAP. Per istruzioni sull'avvio di un'applicazione BizTalk, vedere Come avviare un'orchestrazione o come avviare un'applicazione.

In questa fase assicurarsi di:

  • La porta di ricezione FILE per ricevere messaggi di richiesta per l'orchestrazione è in esecuzione.

  • La porta di invio FILE per ricevere i messaggi di risposta dall'orchestrazione è in esecuzione.

  • La porta di trasmissione WCF-Custom o WCF-SAP per inviare messaggi al sistema SAP è in esecuzione.

  • L'orchestrazione BizTalk per l'operazione è in esecuzione.

Esecuzione dell'operazione

Dopo aver eseguito l'applicazione, è necessario eliminare un messaggio di richiesta per l'orchestrazione in una posizione predefinita. Vedere Schemi di messaggi per le operazioni RFC per conoscere lo schema per il messaggio di richiesta per richiamare un RFC in un sistema SAP. Ad esempio, il messaggio di richiesta per richiamare RFC_CUSTOMER_GET è:

<RFC_CUSTOMER_GET xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">  
  <KUNNR>0000001390</KUNNR>  
  <NAME1>*</NAME1>  
  <CUSTOMER_T/>  
</RFC_CUSTOMER_GET>  

L'orchestrazione usa il messaggio e lo invia al sistema SAP. La risposta del sistema SAP viene salvata in un altro percorso di file definito come parte dell'orchestrazione. Ad esempio, la risposta dal sistema SAP per il messaggio di richiesta precedente è:

<?xml version="1.0" encoding="utf-8" ?>   
<RFC_CUSTOMER_GETResponse xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">  
  <CUSTOMER_T>  
    <RFCCUST xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">  
      <KUNNR>0000001390</KUNNR>   
      <ANRED>Firma</ANRED>   
      <NAME1>Contoso, Ltd.</NAME1>   
      <PFACH />   
      <STRAS>4567 Main Street</STRAS>   
      <PSTLZ>98052</PSTLZ>   
      <ORT01>USA</ORT01>   
      <TELF1>555-0101</TELF1>   
      <TELFX>555-0102</TELFX>   
    </RFCCUST>  
  </CUSTOMER_T>  
</RFC_CUSTOMER_GETResponse>  

Possibili eccezioni

Per informazioni sulle eccezioni che si potrebbero riscontrare quando si richiama un RFC in un sistema SAP usando BizTalk Server, vedere Eccezioni e gestione degli errori con l'adattatore SAP.

Procedure consigliate

Dopo aver distribuito e configurato il progetto BizTalk, è possibile esportare le impostazioni di configurazione in un file XML denominato file binding. Dopo aver generato un file di associazioni, è possibile importare le impostazioni di configurazione dal file in modo che non sia necessario creare le porte di invio, le porte di ricezione e così via per la stessa orchestrazione. Per altre informazioni sui file di associazione, vedere Riutilizzare le associazioni di adattatori SAP.

Vedere anche

Sviluppare applicazioni BizTalk