Condividi tramite


Configurazione di porte di trasmissione dinamiche mediante proprietà di contesto degli adapter WCF

È possibile configurare porte di trasmissione dinamiche per gli adapter WCF. L'URI, l'azione e l'associazione possono essere determinati da una proprietà in un messaggio in ingresso e quindi specificati nella forma Espressione , come illustrato nell'adattatore di WCF-NetTcp seguente:

MessageOut=MessageIn;  
MessageOut(WCF.Action)="http://tempuri.org/IReceiveMessage/ReceiveMessage";  
MessageOut(WCF.SecurityMode)="Transport";  
MessageOut(WCF.TransportClientCredentialType)="Windows";  
DynamicSendPort(Microsoft.XLANGs.BaseTypes.Address)="net.tcp://localhost:8001/netTcp";  
DynamicSendPort(Microsoft.XLANGs.BaseTypes.TransportType)="WCF-NetTcp";  

Il codice seguente illustra un esempio di come specificare le proprietà del contesto WCF nella forma Expression per un adattatore WCF-Custom:

MessageOut=MessageIn;  
MessageOut(WCF.BindingType)="customBinding";  
MessageOut(WCF.Action)="http://tempuri.org/IReceiveMessage/ReceiveMessage";  
MessageOut(WCF.BindingConfiguration)=@"<binding name=""customBinding""><binaryMessageEncoding /><tcpTransport /></binding>";  
DynamicSendPort(Microsoft.XLANGs.BaseTypes.Address)="net.tcp://localhost:8001/customNetTcp";  
DynamicSendPort(Microsoft.XLANGs.BaseTypes.TransportType)="WCF-Custom";  

Di seguito sono riportate le considerazioni relative alla specifica delle proprietà di contesto WCF:

  • Sono presenti indirizzi che possono essere associati a più adapter. Ad esempio, un indirizzo che inizia con http:// o https:// può essere gestito dall'adapter HTTP oppure dall'adapter WCF-BasicHttp, WCF-WsHttp o WCF-Custom. Inoltre, negli esempi di codice precedenti viene utilizzato in entrambi l'indirizzo che inizia con net.tcp://, poiché tuttavia nel secondo esempio di codice viene utilizzato un binding personalizzato, per gestire l'indirizzo sarà necessario utilizzare l'adapter WCF-Custom. Pertanto, per identificare l'adattatore corretto, è necessario configurare il campo Microsoft.XLANGs.BaseTypes.TransportType in una forma Espressione con l'adattatore che si vuole usare.

    Nota

    Se l'indirizzo inizia con http:// o https:// e se non si specifica il campo Microsoft.XLANGs.BaseTypes.TransportTypes , per impostazione predefinita, il motore BizTalk userà l'adapter HTTP.

  • WCF. BindingType identifica l'associazione in base al nome. I possibili valori sono i seguenti:

    • basicHttpBinding

    • customBinding

    • netMsmqBinding

    • netNamedPipeBinding

    • netTcpBinding

    • wsFederationHttpBinding

    • wsHttpBinding

      L'elenco riportato sopra può essere esteso. Ad esempio, è possibile aggiungere un binding personalizzato quale FtpBinding.

  • WCF. BindingConfiguration specifica la configurazione dell'associazione per il tipo di associazione. Accetta qualsiasi binding registrato nel file di configurazione del computer. Accetta inoltre la configurazione XML nello stesso formato utilizzato nella configurazione di binding nel file di configurazione WCF.

  • Potrebbe essere necessario specificare proprietà WCF aggiuntive. È possibile digitare WCF nell'editor di espressioni e la funzionalità IntelliSense deve elencare tutte le proprietà di contesto disponibili. Per altre informazioni sulle proprietà del contesto WCF, vedere Schema e proprietà delle schede WCF.

    Gli esempi precedenti illustrano come configurare WCF. Azione con un'unica azione. Per scenari di mapping con più azioni, l'adapter WCF non supporta l'utilizzo del mapping con più azioni con porte di trasmissione dinamiche. È sufficiente impostare l'azione effettiva in WCF. Proprietà contesto azione come illustrato in precedenza.

Vedere anche

Specifica di azioni SOAP per adapter di trasmissione WCF
Come utilizzare espressioni per assegnare valori a porte dinamiche
Binding porta