Condividi tramite


Che cosa sono gli adapter WCF?

Sono disponibili due adapter Windows Communication Foundation (WCF): un adapter di ricezione e un adapter di trasmissione. L'adapter di ricezione WCF consente di ricevere le richieste del servizio WCF. L'adapter di ricezione WCF riceve una richiesta, crea un oggetto messaggio BizTalk e alza di livello le proprietà associate nel contesto del messaggio. L'adapter di trasmissione WCF consente di chiamare un servizio WCF. L'adapter di trasmissione WCF chiama i servizi WCF tramite i contratti senza tipi.

Nota

Gli adapter WCF non supportano l'utilizzo di servizi Web di tipo Remote Procedure Call (RPC) perché le parti del messaggio nei servizi Web di tipo RPC fanno riferimento ai tipi di messaggio invece che agli elementi del messaggio in cui gli adapter WCF utilizzano gli elementi per le parti del messaggio. È consigliabile aggiungere i servizi Web di tipo RPC tramite la procedura guidata Aggiungi riferimento Web per l'utilizzo dei servizi Web nei progetti BizTalk.

Supporto per gli standard dei servizi Web

Gli adapter WCF forniscono il supporto per gli standard WS-*, quali WS-Addressing, WS-Security e WS-AtomicTransaction. WS-ReliableMessaging non è supportato in questa versione degli adapter WCF. Per un elenco delle specifiche supportate da WCF, vedere https://go.microsoft.com/fwlink/?LinkId=88314.

WS-Addressing

Gli adapter WCF si basano sul supporto per lo standard WS-Addressing fornito da WCF. Negli adapter WCF, sono disponibili le funzionalità riportate di seguito:

  • Configurazione dell'indirizzo dell'endpoint della porta di trasmissione ottenuto durante la richiesta di scambio dei metadati.

  • Configurazione delle intestazioni di indirizzamento per l'indirizzo dell'endpoint della porta di trasmissione.

  • Configurazione delle intestazioni di indirizzamento per l'endpoint esposto nell'indirizzo di ricezione BizTalk.

WS-Security

Gli adapter WCF si basano sul supporto per gli standard di sicurezza fornito da WCF. Negli adapter WCF, sono supportati gli standard riportati di seguito:

  • Sicurezza dei servizi Web: sicurezza dei messaggi SOAP (WS-Security) 1.0 e 1.1

  • Web Services Secure Conversation Language (WS-SecureConversation)

  • Web Services Trust Language (WS-Trust)

  • Web Services Security X.509 Certificate Token Profile

  • Web Services Security Username Token Profile 1.0

  • Web Services Security Kerberos Token Profile 1.0

Tipi di autenticazione dei servizi

Sono supportati i tipi seguenti di autenticazione dei servizi WCF:

  • Nessuno

  • Windows

  • Certificato

Tipi di autenticazione client

Sono supportati i tipi seguenti di autenticazione client WCF:

  • Anonimo

  • UserName

  • Windows

  • Certificato

Modalità di sicurezza

Sono supportate le modalità di sicurezza seguenti:

  • Trasporto

  • Messaggio

  • Mixed (sicurezza a livello di trasporto e autenticazione a livello di messaggio)

WS-AtomicTransaction

Gli adapter WCF-WsHttp, WCF-NetTcp e WCF-NetMsmq supportano il protocollo WS-AtomicTransaction. Questo supporto consente gli scenari seguenti:

  • Invio transazionale di messaggi al database MessageBox.

  • Trasmissione transazionale di messaggi dal MessageBox a una destinazione transazionale.

Nota

L'ambito transazionale è limitato dal MessageBox. Ad esempio, un'orchestrazione BizTalk non può partecipare a una transazione di un client. Analogamente, un endpoint di destinazione non può partecipare a una transazione iniziata da un'orchestrazione BizTalk.

Invio transazionale

Per gli adattatori WCF-WsHttp e WCF-NetTcp, l'invio transazionale a BizTalk Server è abilitato selezionando la casella di controllo Abilita transazioni nella finestra di dialogo delle proprietà del trasporto della posizione di ricezione. Per l'adattatore WCF-NetMsmq, la casella di controllo Transazionale è selezionata per impostazione predefinita. Se le code di messaggi da cui si sta eseguendo il pull dei messaggi non sono contrassegnate come transazionali, è necessario deselezionare questa casella di controllo. In caso contrario, verrà visualizzato un messaggio di errore.

Se la funzionalità di transazione è abilitata, i messaggi vengono inviati al database MessageBox utilizzando le transazioni dei client. Qualora un client tenti di inviare i messaggi all'esterno dell'ambito transazionale, l'adapter restituirà un'eccezione al client. Nessun messaggio verrà tuttavia sospeso. Se la funzionalità di transazione è disabilitata, i messaggi vengono inviati al MessageBox senza utilizzare le transazioni dei client. Qualora un client tenti di inviare messaggi all'interno dell'ambito transazionale, l'adapter restituirà un'eccezione al client e nessun messaggio verrà sospeso.

Transazioni e tipo di indirizzo di ricezione

L'invio transazionale è disponibile solo per gli indirizzi di ricezione unidirezionale. Qualora un client tenti di inviare messaggi in un ambito transazionale per un indirizzo di ricezione bidirezionale, verrà restituita un'eccezione al client e nessun messaggio verrà sospeso.

Trasmissione transazionale

Per gli adattatori WCF-WsHttp e WCF-NetTcp, la trasmissione transazionale da BizTalk Server è abilitata selezionando la casella di controllo Abilita transazioni nella finestra di dialogo Proprietà trasporto porta di trasmissione. Per l'adattatore WCF-NetMsmq, la casella di controllo Transazionale è selezionata per impostazione predefinita. Se le code di messaggi a cui si stanno inviando i messaggi non sono contrassegnate come transazionali, è necessario deselezionare questa casella di controllo. In caso contrario, verrà visualizzato un messaggio di errore.

Se la funzionalità di transazione è abilitata, i messaggi vengono trasmessi ed eliminati dal database MessageBox durante la transazione. Se il servizio di destinazione ha eseguito operazioni dopo la ricezione del messaggio e il messaggio non viene eliminato dal MessageBox, la transazione verrà interrotta e tutte le transazioni nel servizio verranno annullate. Se la funzionalità di transazione è disabilitata, i messaggi vengono trasmessi ed eliminati dal MessageBox senza utilizzare le transazioni.

Supporto Single Sign-On

È possibile rappresentare e acquisire il ticket Enterprise Single Sign-On (SSO) per l'utilizzo di SSO con gli adapter WCF. Per altre informazioni sull'uso dell'accesso Single Sign-On con adapter WCF, vedere Supporto di single Sign-On per gli adapter WCF.

Nella tabella seguente vengono riepilogati gli scenari non supportati quando si utilizza il supporto SSO con gli adapter di ricezione WCF.

Modalità di sicurezza Credenziale
Nessuno Nessuno
Trasporto Nessuno
Messaggio Nessuno
TransportWithMessageCredentials Nessuno
TransportCredentialOnly Nessuno

Estendibilità WCF

È possibile estendere la funzionalità di WCF sviluppando le estensioni seguenti e utilizzandole con gli adapter WCF-Custom e WCF-CustomIsolated:

  • Binding personalizzati

  • Elementi di binding personalizzati

Associazioni personalizzate

I binding personalizzati vengono sviluppati comprimendo singoli elementi di binding in un contenitore che espone un subset delle proprietà di configurazione per un determinato scenario di utilizzo. È necessario registrare l'estensione di binding installando l'assembly nella Global Assembly Cache e quindi aggiungendo l'elemento estensione al file di configurazione del computer. Per utilizzare i binding personalizzati, è necessario installare il binding in ogni server del gruppo BizTalk. Dopo l'installazione, il binding sarà visibile agli adapter WCF-Custom e WCF-CustomIsolated. Gli adapter WCF-Custom e WCF-CustomIsolated otterranno le proprietà di configurazione del binding utilizzando la reflection sugli elementi di configurazione del binding.

Elementi di binding personalizzati

Gli elementi di binding personalizzati vengono sviluppati aggiungendo o modificando determinati componenti del canale di trasporto. Un componente di decompressione personalizzato, ad esempio, viene compresso come elemento di binding oppure un trasporto UDP viene rappresentato come elemento di binding. Questi elementi di binding possono essere utilizzati all'interno degli adapter WCF. È possibile definire uno stack di canali che utilizza l'elemento di binding personalizzato in combinazione con altri elementi di binding predefiniti o personalizzati. È necessario registrare l'estensione dell'elemento di binding installando l'assembly nella Global Assembly Cache e quindi aggiungendo l'elemento estensione al file di configurazione del computer. Per utilizzare i binding personalizzati, è necessario installare il binding in ogni server del gruppo BizTalk. Per usare gli elementi di associazione personalizzati, è possibile selezionare il tipo di associazione CustomBinding e quindi aggiungere, modificare o riorganizzare gli elementi di associazione in un ordine desiderato.

Contenuto della sezione

Vedere anche