Condividi tramite


Orchestrazione PIPAutomation a doppia azione

L'esempio DoubleAction.odx illustra come implementare un'orchestrazione per generare automaticamente risposte per i processi di interfaccia partner double-action (PIP) 0C2, 0C4, 3A2 e 3A4. È possibile estendere questo progetto di esempio per supportare altri PIP a doppia azione.

Nota

Le mappe fornite nella cartella di esempio sono esempi. Per usarli, è necessario modificarli in base ai requisiti specifici.

Nota

È consigliabile estendere questo progetto di esempio per supportare solo i PIP a doppia azione, non i PIP a azione singola. Questa orchestrazione restituirà un errore se lo si estende per elaborare un PIP a azione singola. Per assicurarsi che questa orchestrazione non elabora i PIP a singola azione, vedere la sezione Filtro Single-Action Messaggi di seguito.

Per impostazione predefinita, il programma di installazione di Microsoft BizTalk Accelerator for RosettaNet (BTARN) installa questo esempio in <unità>:\Programmi\Microsoft® BizTalk Accelerator for RosettaNet\SDK\PIPAutomation\DoubleAction.

Questo progetto di esempio include:

  • Stored procedure (PipAutomationGetAction) per recuperare nuovi messaggi di azione per i PIP 0C2, 0C4, 3A2 e 3A4.

  • Percorso di ricezione (MessagesToLOB_Receive_Location) associato alla stored procedure SQL.

  • Un'orchestrazione (DoubleAction.odx) che elabora ogni PIP, genera la risposta appropriata in base a una mappa per ogni PIP e salva la risposta nella tabella MessagesFromLOB del database BTARNDATA. L'orchestrazione usa il RNIFSubmit metodo da Microsoft.Solutions.BTARN.Shared.dll per inviare il messaggio.

  • Un file di associazione (DoubleActionBinding.xml) usato dal file Setup.bat per creare la MessagesToLOB_Receive_Port da usare con l'orchestrazione DoubleAction.

  • File di installazione per compilare e inizializzare l'esempio. Se BizTalk Server è in esecuzione in un computer a 32 bit, eseguire il file setup.bat nella <cartella drive>:\Programmi\Microsoft BizTalk Accelerator for RosettaNet \SDK\PIPAutomation\DoubleAction. Se BizTalk Server è in esecuzione in un computer a 64 bit, eseguire setupx64.bat nella stessa cartella.

    L'orchestrazione riceve messaggi usando la stored procedure PipAutomationGetAction nel database BTARNData ( il file di origine è DoubleAction.sql nella directory DoubleAction). Questa stored procedure recupera i messaggi dalla tabella MessagesToLOB.

    Per estendere questo progetto di esempio per supportare piP aggiuntivi a doppio azione, aggiungere un percorso nell'orchestrazione per il PIP a doppia azione. Questo percorso includerà una mappa che creerà un messaggio di risposta a un messaggio di richiesta. Ad esempio, mappe, vedere l'esempio di mapping delle risposte 3A2 request to 3A2 e l'esempio di mapping delle risposte 3A4 a 3A4 Response Map [RN3].

Per compilare e inizializzare l'esempio

  1. Al prompt dei comandi individuare la <cartella drive>:\Programmi\Microsoft BizTalk Accelerator for RosettaNet\SDK\PIPAutomation\DoubleAction.

    Nota

    Prima di eseguire il programma di installazione, aprire il file DoubleAction.sql (nella cartella precedente) nel Blocco note. Scegliere Salva con nome dal menu File. Nell'elenco Codifica selezionare ANSI e quindi fare clic su Salva. Fare clic su per sovrascrivere il file esistente.

  2. Se il BizTalk Server è in esecuzione in un computer a 32 bit, eseguire il file setup.bat nella <cartella drive>:\Programmi\Microsoft BizTalk Accelerator for RosettaNet\SDK\PIPAutomation\DoubleAction. Se l'installazione di BizTalk Server è in esecuzione in un computer a 64 bit, eseguire setupx64.bat nella stessa cartella. Il file batch eseguirà le azioni seguenti:

    • Crea una stored procedure SQL (PipAutomationGetAction) nel database BTARNDATA per recuperare il messaggio di azione dalla tabella MessagesToLOB. Ciò garantisce inoltre che i record recuperati non vengano letti di nuovo.

    • Compila il progetto .NET HeaderHelper e registra l'assembly in Global Assembly Cache.

    • Crea e associa la porta di ricezione SQL di BizTalk Server (MessagesToLOB_Receive_Port).

    • Abilita l'indirizzo di ricezione (MessagesToLOB_Receive_Location).

    • Compila e distribuisce la Double-Action PIPAutomation Orchestration (DoubleAction.odx).

    • Associa e avvia l'orchestrazione BizTalk Server.

      Nota

      L'esempio visualizza alcuni avvisi durante la compilazione. È possibile ignorare tali avvisi.

      Nota

      L'esempio usa il nome host predefinito BizTalkServerApplication durante la distribuzione del progetto. Se si vuole eseguire l'esempio in un host diverso, è necessario modificare i nomi host predefiniti trovati in DoubleActionBinding.xml nella <cartella SDK>\PIPAutomation\DoubleAction.

Per eseguire l'esempio PIPAutomation Double-Action

  1. Creare un contratto 3A4 in cui il ruolo principale è un iniziatore. Impostare GBI per l'organizzazione home su 123456789 e impostare l'GBI per il partner su 987654321. In questo modo è possibile usare gli esempi forniti nella cartella SampleInstances nella cartella LOBApplication nell'SDK.

  2. Usando l'utilità di mirroring del contratto Loopback, creare un mirroring per il PIP 3A4 creato nel passaggio 1.

  3. Usando l'utilità SDK LOBApplication.exe, inviare un messaggio di richiesta PIP 3A4. BTARN SDK include un esempio di input nella directory> di installazione della cartella <\SDK\LOBApplication\SampleInstances\3A4_Request.xml.

  4. Eseguire la query seguente nel database BTARNDATA:

    Select * from MessagesToLOB  
    
  5. Dopo diversi secondi, quattro nuovi messaggi vengono visualizzati in questa tabella. Due di essi sono segnali di riconoscimento. Un segnale è il messaggio di richiesta Async 3A4. Un segnale è il messaggio di risposta Async 3A4.

    Nota

    Per annullare le modifiche apportate da Setup.bat, eseguire Cleanup.bat. È necessario eseguire Cleanup.bat prima di eseguire di nuovo Setup.bat.

Commenti

L'orchestrazione pubblica genera automaticamente i riconoscimenti (messaggi di segnale ACK e NACK). L'applicazione line-of-business (LOB) non deve generarle.

Il formato del messaggio indirizzato alla tabella MessagesFromLOB è denominato LOBMessage. Lo schema è disponibile in C:\Programmi\Microsoft BizTalk Accelerator for RosettaNet\SDK\RNIFSchemas\GlobalSchemas\LOBMessage.xsd. Se si usa il metodo, non è necessario usare il RNIFSubmit formato del messaggio. È sufficiente inviare serviceContent solo con le informazioni aggiuntive. RNIFSubmit popola il record nella tabella MessagesFromLOB.

Filtro dei messaggi di Single-Action

Questa orchestrazione deve ricevere solo messaggi a doppia azione. Non è consigliabile estendere questo progetto di esempio per supportare i PIP a azione singola. BTARN invierà errori se si usa questa orchestrazione per elaborare messaggi a azione singola. Per evitare che l'orchestrazione riceva un messaggio a azione singola, modificare la riga seguente nella stored procedure PIPAutomationGetAction:

SELECT PIPInstanceID,DestinationPartyName,SourcePartyName,PIPCode,PIPVersion,ServiceContent FROM MessagesToLOB  

Nella riga precedente aggiungere una clausola WHERE che filtra i messaggi a azione singola. Includere nella clausola WHERE tutti i messaggi a azione singola che verranno elaborati. La riga deve essere la seguente:

SELECT PIPInstanceID,DestinationPartyName,SourcePartyName,PIPCode,PIPVersion,ServiceContent FROM MessagesToLOB WHERE PIPCode NOT IN ( '0A1', '3B2', '3C3', '0C1', '0C3' )  

Vedere anche

Esempio di mapping di risposta 3A2 a una richiesta 3A2
Esempio di mapping di risposta 3A4 a una richiesta 3A4
Esempi di orchestrazione