Condividi tramite


Considerazioni per l'utilizzo dei servizi WCF con adapter di trasmissione WCF

In questo argomento vengono fornite informazioni che è opportuno tenere in considerazione durante l'utilizzo di servizi WCF con gli adapter WCF.

Utilizzare l'opzione "Modello: contenuto specificato dal modello" per l'invio di messaggi di sollecitazione con contenuto non XML

Le schede WCF con corpo - Corpo del messaggio di risposta BizTalk (valore predefinito) non consentono l'invio di messaggi non XML, ad esempio dati di tipo carattere e immagini bitmap. È possibile usare l'opzione Modello - contenuto specificato dall'opzione modello per gli adapter WCF per l'invio di messaggi non XML. Per altre informazioni su come usare il modello, vedere Considerazioni sulla pubblicazione di servizi WCF con gli adapter di ricezione WCF.

Le porte di trasmissione WCF-BasicHttp e WCF-WSHttp ignorano sempre il proxy se l'indirizzo del servizio inizia con http://localhost

Il WCF-BasicHttp e WCF-WSHttp porte di trasmissione ignorano sempre il proxy se l'indirizzo del servizio inizia con http://localhost se il proxy è configurato nella scheda Proxy della porta di trasmissione o nella scheda Proxy del gestore di trasmissione. È consigliabile utilizzare il nome dell'host anziché localhost se si desidera che i client passino attraverso un proxy per comunicare con i servizi presenti nello stesso computer.

Gli adapter di trasmissione WCF-BasicHttp e WCF-WSHttp sospendono i messaggi se l'impostazione del proxy non è configurata correttamente

È possibile specificare l'impostazione proxy per la WCF-BasicHttp e WCF-WSHttp adapter di trasmissione nella scheda Proxy della porta di trasmissione o nella scheda Proxy del gestore di trasmissione. Se questa impostazione non è configurata correttamente, gli adapter WCF sospendono i messaggi e viene visualizzato il messaggio di errore "Nessun endpoint in ascolto in grado di accettare il messaggio" nel registro eventi.

Impostazione delle autorizzazioni per una porta di trasmissione WCF con l'adapter WCF-NetMsmq

Quando una porta di trasmissione WCF che utilizza l'adapter WCF-NetMsmq invia un messaggio a un servizio WCF pubblicato con l'adapter NetMsmqBinding, indirizza il messaggio alla coda di destinazione, ovvero la coda gestita dal gestore code del servizio. Il gestore delle code sul client invia il messaggio a una coda di trasmissione (o in uscita), La coda di trasmissione è una coda inclusa nel gestore code sul lato client in cui vengono archiviati i messaggi che devono essere trasmessi alla coda di destinazione.

Il gestore code del servizio accetta i messaggi indirizzati alle proprie code di destinazione e li archivia. Il servizio invia quindi richieste di lettura della coda di destinazione e il gestore code recapita i messaggi al servizio. Per questo motivo è necessario che l'account del servizio dell'istanza dell'host BizTalk che ospita la porta di trasmissione disponga dell'autorizzazione di scrittura per la coda di trasmissione.

Utilizzare un'espressione XPath vuota per ricevere un messaggio SOAP contenente dati di tipo carattere nell'elemento SOAP Body

La porta di trasmissione sollecitazione-risposta WCF può ricevere un messaggio WCF come messaggio di risposta. Per creare un messaggio BizTalk da un messaggio di risposta in arrivo con dati di tipo carattere nel contenuto dell'elemento CORPO SOAP, come illustrato nell'esempio seguente, è necessario lasciare vuota la casella di testo espressione XPath nella scheda Messaggio della finestra di dialogo proprietà trasporto dell'adapter WCF.

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
    <s:Header>
      ...
    </s:Header>
    <s:Body>Contoso</s:Body>
</s:Envelope>

Se si seleziona l'opzione Busta o Corpo , l'adapter non crea il messaggio BizTalk dal messaggio in arrivo. Il messaggio non viene sospeso poiché tale operazione non è prevista per i messaggi in cui il marshalling SOAP in ingresso non è riuscito. Per altre informazioni sull'utilizzo dell'espressione XPath nella scheda Messaggio , vedere Specifica del corpo del messaggio per gli adapter WCF.

Nota

È possibile usare lo strumento TraceViewer (SvcTraceViewer.exe) in Windows SDK configurando il file BTSNTSvc.exe.config.file. Per altre informazioni su Windows SDK, vedere "Novità di Windows SDK" all'indirizzo https://go.microsoft.com/fwlink/?LinkId=75219. Per altre informazioni sullo strumento TraceViewer, vedere "TraceViewer Tool (SvcTraceViewer.exe)" all'indirizzo https://go.microsoft.com/fwlink/?LinkId=75218.

BizTalk Server non utilizza i tipi di messaggio multiparte e gli elementi radice che descrivono le intestazioni SOAP personalizzate

Se si esegue l'Utilizzo guidato servizio WCF BizTalk su metadati in cui sono definite intestazioni SOAP personalizzate, verranno generati elementi radice negli schemi generati per rappresentare le intestazioni SOAP personalizzate. La procedura guidata consente inoltre di creare tipi di messaggio multiparte nelle orchestrazioni per le intestazioni SOAP personalizzate di BizTalk Server. BizTalk Server non utilizza tuttavia i tipi di messaggio multiparte e gli elementi radice per gestire le intestazioni SOAP personalizzate.

Per accedere alle intestazioni SOAP personalizzate, è necessario utilizzare la proprietà InboundHeaders . Per altre informazioni sulla ricezione di intestazioni SOAP personalizzate, vedere Intestazioni SOAP con servizi WCF pubblicati. Per utilizzare intestazioni SOAP personalizzate, è necessario utilizzare la proprietà OutboundCustomHeaders . Per altre informazioni sull'invio di intestazioni SOAP personalizzate, vedere Intestazioni SOAP con i servizi WCF utilizzati.

Creare istanze dell'host distinte per le porte di trasmissione che utilizzano indirizzi proxy e/o credenziali proxy diverse

Per ottenere prestazioni ottimali per gli adapter di trasmissione WCF, è consigliabile creare istanze dell'host distinte per le porte di trasmissione che utilizzano indirizzi proxy e/o credenziali proxy diverse. In questo modo è possibile evitare conflitti di impostazioni proxy.

Vedere anche

File BTSNTSvc.exe.config