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:
Creare un progetto BizTalk e generare lo schema per la RFC che si vuole richiamare nel sistema SAP.
Creare messaggi nel progetto BizTalk per l'invio e la ricezione di messaggi dal sistema SAP.
Creare un'orchestrazione per richiamare un RFC nel sistema SAP.
Compilare e distribuire il progetto BizTalk.
Configurare l'applicazione BizTalk creando porte di invio e ricezione fisiche.
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.
Per creare messaggi e collegarsi allo schema
Aprire la visualizzazione orchestrazione del progetto BizTalk, se non è già aperto. Fare clic su Visualizza, scegliere Altre finestre e fare clic su Visualizzazione orchestrazione.
Nella visualizzazione orchestrazione fare clic con il pulsante destro del mouse su Messaggi e quindi scegliere Nuovo messaggio.
Fare clic con il pulsante destro del mouse sul messaggio appena creato e scegliere Finestra Proprietà.
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. 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:
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.