Condividi tramite


Passaggio 4: Configurare la soluzione BizTalk Server

Nel passaggio precedente è stata creata e distribuita un'applicazione BizTalk Server per ricevere la notifica di Salesforce in BizTalk Server e inserire i dettagli in un database SQL Server locale. In questo passaggio verrà configurata l'applicazione in BizTalk Server Console di amministrazione. La configurazione dell'applicazione prevede principalmente la creazione di porte fisiche corrispondenti alle porte logiche create nell'orchestrazione. Implica anche il binding delle porte fisiche alle porte logiche. Verranno eseguiti i passaggi seguenti per configurare l'applicazione BizTalk Server:

  • Configurare un indirizzo di ricezione WCF-BasicHttpRelay di richiesta-risposta per ricevere notifiche delle opportunità da Salesforce.

  • Configurare una porta di trasmissione WCF-WebHttp di richiesta-risposta per inviare query a Salesforce per il recupero di dettagli sul prodotto correlati alla notifica dell'opportunità ricevuta. Questa porta di trasmissione riceve anche la risposta alla query da Salesforce.

  • Configurare una porta di trasmissione WCF-SQL unidirezionale per inserire la risposta alla query da Salesforce in un database SQL Server locale.

  • Configurare l'applicazione BizTalk Server associando la porta logica nell'orchestrazione alle porte fisiche create nella console di amministrazione di BizTalk Server.

Per configurare l'indirizzo di ricezione WCF-BasicHttpRelay

  1. Aprire la Console di amministrazione BizTalk Server. Espandere il nodo Applicazioni e cercare l'applicazione SalesforceIntegration . Questa applicazione viene creata quando è stato distribuito il progetto BizTalk Server da Visual Studio.

  2. Espandere l'applicazione SalesforceIntegration , fare clic con il pulsante destro del mouse su Porte di ricezione, scegliere Nuovo e quindi fare clic su Porta di ricezione richiesta-risposta. Specificare il nome della porta come ReceiveOppNotification e nel riquadro sinistro fare clic su Percorsi di ricezione.

  3. Nella finestra di dialogo Proprietà indirizzo di ricezione specificare i seguenti valori:

    Parametro Valore
    Nome Immettere ReceiveOppNotification.
    Type Selezionare WCF-BasicHttpRelay
    Gestore di ricezione Selezionare BizTalkServerApplication
    Pipeline di ricezione Selezionare XMLReceive
    Pipeline di trasmissione Selezionare PassThruTransmit

    Fare clic su Configura per il tipo di porta.

  4. Nella finestra di dialogo Proprietà del trasporto WCF-BasicHttpRelay specificare i seguenti valori:

    1. Nella scheda Generale immettere per Indirizzo (URI)https://btssalesforce.servicebus.windows.net/notifications/opportunity . Qui btssalesforce è lo spazio dei nomi creato nel passaggio 1: Creare uno spazio dei nomi del bus di servizio. L'URL specificato qui è lo stesso URL specificato durante la creazione di un flusso di lavoro in Salesforce nel passaggio 2: Configurare il sistema Salesforce. Si configura un flusso di lavoro in cui ogni volta che la fase di un'opportunità è impostata su Won chiuso, Salesforce invia una notifica all'URL https://btssalesforce.servicebus.windows.net/notifications/opportunity. Si specifica qui lo stesso URL come parte di questa configurazione dell'indirizzo di ricezione. Quando il percorso di ricezione è abilitato, l'endpoint di inoltro specificato dall'URL viene creato in Microsoft Azure.

    2. Nella scheda Sicurezza specificare quanto segue:

      • Per Modalità di sicurezza selezionare Trasporto e per Tipo di autenticazione client di inoltroselezionare Nessuno.

      • Selezionare la casella di controllo Abilita individuazione dei servizi per pubblicare il comportamento del servizio nel Registro di sistema del servizio. Specificare il nome visualizzato che indica il nome con cui il servizio viene pubblicato nel Registro di sistema. È possibile impostare la modalità di individuazione su pubblico o privato. Per questa esercitazione impostare Nome visualizzato su SF Outbound Notification e Modalità di individuazione su Pubblico.

      • Nella casella Servizio di controllo di accesso fare clic su Modifica. Per Controllo di accesso Uri del servizio token di sicurezza immettere https://btssalesforce-sb.accesscontrol.windows.net/. Per Nome autorità di certificazione e Chiave autorità di certificazione immettere i valori salvati nel passaggio 1: Creare uno spazio dei nomi del bus di servizio per i campi Utente predefinito e Chiave predefinita .

    3. Fare clic su OK fino a chiudere tutte le finestre di dialogo aperte.

Per configurare la porta di trasmissione WCF-WebHttp

  1. Espandere l'applicazione SalesforceIntegration , fare clic con il pulsante destro del mouse su Porte di trasmissione, scegliere Nuovoe quindi fare clic su Porta di trasmissione statica Solicit-Response.

  2. Nella finestra di dialogo Proprietà porte di trasmissione specificare i seguenti valori:

    Parametro Valore
    Nome Immettere SalesforceREST.
    Type Selezionare WCF-WebHttp
    Gestore di trasmissione Selezionare BizTalkServerApplication
    Pipeline di trasmissione Selezionare PassThruTransmit
    Pipeline di ricezione Selezionare AddNamespace e fare clic sul pulsante con i puntini di sospensione sulla pipeline per configurare la pipeline.

    - Nella fase 1: Decodifica, per NamespaceBase, immettere http://BtsSalesforceIntegration.QueryResult. Questo è lo spazio dei nomi dello schema QueryResult.xsd creato nel passaggio 3b: Recuperare i dettagli delle opportunità da Salesforce usando l'adapter WCF-WebHttp. Quando la pipeline di ricezione AddNamespace riceve la risposta da Salesforce, aggiunge questo spazio dei nomi al messaggio di risposta. Per impostazione predefinita, il messaggio di risposta di Salesforce non include lo spazio dei nomi.
    Per NamespacePrefix immettere sf.
    - Nella fase 2: disassemblare, accettare i valori predefiniti e quindi fare clic su OK.

    Nella finestra di dialogo Proprietà porta di trasmissione fare clic su Configura per il tipo di porta.

  3. Nella finestra di dialogo Proprietà del trasporto WCF-WebHttp specificare i seguenti valori:

    1. Nella scheda Generale eseguire le operazioni seguenti:

      • per Indirizzo (URI) immettere https://<Salesforce_instance_name>.salesforce.com/services/data/v24.0. È possibile recuperare il nome dell'istanza Salesforce copiando il testo compreso tra https:// e Salesforce.com nella barra degli indirizzi dove è stato aperto il portale Salesforce.com. Ad esempio, se l'URL nel portale salesforce è https://na15.salesforce.com/home/home.jsp, il nome dell'istanza di Salesforce è na15.

      • Nella casella Http Method and URL Mapping (Metodo HTTP e mapping URL ) specificare quanto segue:

        <BtsHttpUrlMapping>  
        <Operation Method="GET" Url="/query?q={VAR}" />  
        </BtsHttpUrlMapping>  
        

        Ecco come viene usata questa impostazione: per eseguire una query su Salesforce per recuperare altre informazioni sulla notifica dell'opportunità, è necessario eseguire un'operazione GET sull'endpoint REST salesforce (specificato nel campo Indirizzo ) e accodare la query per recuperare i dettagli dell'opportunità. Pertanto l'URL dovrebbe risultare simile al seguente:

        https://na15.salesforce.com/services/data/v24.0/query?q=<query_string>  
        

        L'endpoint REST di Salesforce è già incluso nel campo Indirizzo (URI). Pertanto, come parte della proprietà Metodo HTTP e Mapping URL , si specifica l'uso del metodo GET e l'aggiunta di {VAR} come variabile.

      • Nella casella Mapping variabili fare clic su Modifica. In questa casella si specifica come viene dedotto il valore per la variabile {VAR} in fase di esecuzione.

        Nel passaggio 3b: Recuperare i dettagli delle opportunità da Salesforce usando l'adapter WCF-WebHttp, è stata promossa la proprietà Query, che ha comportato la creazione di un propertySchema.xsd. Si userà l'elemento Query in tale schema per passare la stringa di query eseguendo il mapping di tale elemento alla variabile {VAR} nell'URL.

        Nella finestra di dialogo Mapping variabili la colonna Variabile elenca il nome della variabile specificata in precedenza, ad esempio VAR. Nella colonna Nome proprietà specificare il nome della proprietà alzata di livello con la stringa di query da passare alla variabile. In questa esercitazione il nome della proprietà è Query. Infine, per Spazio dei nomi delle proprietà, specificare lo spazio dei nomi per PropertySchema.xsd, ovvero https://BtsSalesforceIntegration.PropertySchema. Fare clic su OK.

        Scheda Generale dell'adapter WCF-WebHttp

    2. Nella scheda Sicurezza selezionare Trasporto per Modalità di sicurezza.

    3. Nella scheda Comportamento usare il comportamento personalizzato creato nel passaggio 3d: Abilitazione di BizTalk Server per inviare e ricevere messaggi da Salesforce per l'autenticazione con Salesforce. Per utilizzare il comportamento, attenersi alla seguente procedura:

      • Fare clic con il pulsante destro del mouse su EndpointBehavior e quindi scegliere Aggiungi estensione.

      • Nella finestra di dialogo Seleziona estensione comportamento selezionare Microsoft.BizTalk.Adapter.Behaviors.Demo.Salesforce. È stato utilizzato questo nome del comportamento durante l'aggiunta del comportamento a machine.config.

      • Selezionare il comportamento appena aggiunto, quindi specificare i seguenti valori:

        Parametro Valore
        consumerKey (obbligatorio) Specificare la chiave consumer per l'account Salesforce. È possibile recuperare la chiave consumer passando all'applicazione connessa Salesforce creata nel passaggio 2: Configurare il sistema Salesforce.
        consumerSecret (obbligatorio) Recuperare il segreto consumer dall'applicazione connessa Salesforce creata nel passaggio 2: Configurare il sistema Salesforce.
        Password (obbligatorio) Specificare la password per l'account Salesforce. Per connettersi a Salesforce da un'applicazione di terze parti, è necessario specificare la password nel formato password seguita dal token di sicurezza. Ad esempio, se la password è password e il token è XXXXXX, è necessario immettere passwordXXXXXX.
        sessionTimeout Questo ha un valore predefinito di 300.
        Username (obbligatorio) Specificare l'account di accesso per sviluppatori Salesforce.

        Scheda Comportamento per WCF-WebHttp adapter

    4. Nella scheda Messaggi , in Messaggio in uscita , per Suppress Body for Verbs (Elimina corpo per verbi) immettere GET. Ciò garantisce per il metodo GET che non si verifichi il payload di messaggi nella richiesta inviata a Salesforce.

    5. Fare clic su OK fino a chiudere tutte le finestre di dialogo aperte.

Per configurare la porta di trasmissione WCF-SQL

  1. Espandere l'applicazione SalesforceIntegration , fare clic con il pulsante destro del mouse su Porte di trasmissione, scegliere Nuovo e quindi fare clic su Porta di trasmissione unidirezionale statica.

  2. Nella finestra di dialogo Proprietà porte di trasmissione specificare i seguenti valori:

    Parametro Valore
    Nome Immettere SendToSQL.
    Type Selezionare WCF-SQL
    Gestore di trasmissione Selezionare BizTalkServerApplication
    Pipeline di trasmissione Selezionare XMLTransmit

    Nella finestra di dialogo Proprietà porta di trasmissione fare clic su Configura per il tipo di porta.

  3. Nella finestra di dialogo Proprietà del trasporto WCF-SQL specificare i seguenti valori:

    1. Nella scheda Generale eseguire le operazioni seguenti:

      • In Endpoint Addressfare clic su Configura. Per la proprietà InitialCatalog specificare il nome del database che contiene la tabella in cui devono essere immessi i dati della risposta Salesforce. Per questa esercitazione immettere questo valore come Orders. Per Proprietà Server immettere il nome del server in cui è installato SQL Server database.

      • In Intestazione azione SOAP specificare l'azione da usare per l'inserimento nella tabella OrderDetails . È necessario immettere TableOp/Insert/dbo/OrderDetails.

    2. Nella scheda Credenziali se si lascia vuota ogni opzione, l'adapter utilizza Autenticazione Windows per connettersi al database SQL Server. Se si desidera utilizzare qualsiasi altra forma di autenticazione, è possibile specificare i valori pertinenti.

    3. Fare clic su OK fino a chiudere tutte le finestre di dialogo aperte.

Per configurare l'applicazione BizTalk Server

  1. Nella console di amministrazione di BizTalk Server fare clic con il pulsante destro del mouse sull'applicazione SalesforceIntegration e quindi scegliere Configura.

  2. Nella finestra di dialogo Configura applicazione selezionare l'orchestrazione NotificationServiceClient e nel riquadro destro eseguire le operazioni seguenti:

    1. Per Host selezionare BizTalkServerApplication.

    2. Eseguire il mapping della porta di ricezione logica SalesforceNotificationPort alla porta di ricezione fisica ReceiveOppNotification.

    3. Eseguire il mapping della porta di trasmissione logica SalesforceRESTInterface alla porta di trasmissione fisica SalesforceREST.

    4. Eseguire il mapping della porta di trasmissione logica SendToSQL alla porta di trasmissione fisica SendToSQL.

      Fare clic su OK.

  3. Fare clic con il pulsante destro del mouse sull'applicazione SalesforceIntegration e quindi scegliere Avvia. Viene avviata l'orchestrazione NotificationServiceClient , viene abilitata la posizione di ricezione e viene avviata la porta di trasmissione.

    In questo argomento è stata completata la configurazione della soluzione nella console di amministrazione di BizTalk Server associando le porte logiche nell'orchestrazione alle porte fisiche.