Condividi tramite


Registrazione dell'adapter

Durante la fase di sviluppo di un adapter personalizzato, quest'ultimo può essere registrato in BizTalk Server modificando ed eseguendo uno dei file del Registro di sistema inclusi con l'adapter per file di esempio nel Software Development Kit (SDK). In alternativa, è possibile creare un file del Registro di sistema utilizzando la Creazione guidata Registro di sistema adapter. Questa procedura guidata si trova nella cartella \Programmi (x86)\Microsoft BizTalk Server <VERSION>Utilities\AdapterRegistryWizard.

Importante

  • In un computer a 32 bit il file del Registro di sistema (con estensione reg) generato tramite la procedura guidata deve essere eseguito al prompt dei comandi.
    • In un computer a 64 bit il file del Registro di sistema (con estensione reg) generato tramite la procedura guidata deve essere eseguito al prompt dei comandi a 32 bit e a 64 bit.

Dopo avere creato le voci di registro è possibile aggiungere l'adapter tramite la Console di amministrazione BizTalk Server o a livello di codice utilizzando metodi Strumentazione gestione Windows (WMI). In questo argomento vengono illustrate le singole voci del Registro di sistema e quindi viene indicato come modificare i file del Registro di sistema esistenti per l'adapter personalizzato.

Per istruzioni sull'uso della Procedura guidata registro adapter, vedere Configurazione guidata registro adapter. Per istruzioni sulla modifica dei file del Registro di sistema di esempio inclusi nell'SDK, vedere File di registrazione dell'adapter.

Chiavi del Registro di sistema

Per distribuire un adapter è necessario creare le voci del Registro di sistema seguenti:

Posizione della chiave di registro

[HKEY_CLASSES_ROOT\CLSID\{%uuid of custom transport%}\BizTalk]  
@="BizTalk"  
  

Nome tipo

Il nome del tipo di adapter identifica il tipo di adapter nel computer che esegue BizTalk Server. Questa chiave è necessaria per tutti gli adapter.

"TransportType"="MyTransportAdapter"  
  

Vincoli

I vincoli dell'adapter ne definiscono le funzionalità.

Questa chiave è obbligatoria per tutti gli adapter. A seconda del tipo di adapter creato può essere utile modificare il valore della maschera di bit dei vincoli.

"Constraints"=dword:00003C0b  

Il valore che descrive le funzionalità dell'adapter può essere costituito da una combinazione dei valori riportati nella tabella seguente.

Valore Valore hex Flag Descrizione
1 0x0001 eProtocolSupportsReceive L'adapter supporta le operazioni di ricezione.
2 0x0002 eProtocolSupportsTransmit L'adapter supporta le operazioni di trasmissione.
8 0x0008 eProtocolReceiveIsCreatable Il gestore o l'adapter di ricezione utilizza host In-Process.
128 0x0080 eProtocolSupportsRequestResponse L'adapter supporta le operazioni richiesta-risposta.
256 0x0100 eProtocolSupportsSolicitResponse L'adapter supporta le operazioni sollecitazione-risposta.
1024 0x0400 eOutboundProtocolRequiresContextInitialization Indica che l'adapter utilizza l'interfaccia utente fornita in Adapter Framework per la configurazione dei gestori di trasmissione.
2048 0x0800 eInboundProtocolRequiresContextInitialization Indica che l'adapter utilizza l'interfaccia utente fornita da Adapter Framework per la configurazione dei gestori di ricezione.
4096 0x1000 eReceiveLocationRequiresContextInitialization Indica che l'adapter utilizza l'interfaccia utente fornita da Adapter Framework per la configurazione degli indirizzi di ricezione.
8192 0x2000 eTransmitLocationRequiresContextInitialization Indica che l'adapter utilizza l'interfaccia utente fornita da Adapter Framework per la configurazione delle porte di trasmissione.
16384 0x4000 eSupportsOrderedDelivery Indica che l'adapter supporta il recapito ordinato di messaggi.
32768 0x8000 eInitTransmitterOnServiceStart L'adapter di trasmissione si avvia quando si avvia il servizio anziché quando invia il primo messaggio.
65536 0x10000 eSupport32BitOnly Indica che l'adapter supporta solo l'esecuzione in host a 32 bit.

Spazio dei nomi

Ogni adapter deve definire uno spazio dei nomi per le proprie proprietà. In BizTalk Server le proprietà specifiche degli adapter vengono memorizzate in questo spazio dei nomi nel contesto del messaggio. Questa proprietà è obbligatoria per tutti gli adapter.

"PropertyNameSpace"="namespace"  

Alias

Ogni adapter può disporre di una serie di prefissi che identificano in modo univoco il tipo di adapter in BizTalk Server. Ciò consente la risoluzione del tipo di trasporto corretto quando un messaggio viene inviato attraverso una porta di trasmissione dinamica. Al momento della registrazione è necessario specificare l'elenco dei prefissi dell'adapter.

"AliasesXML"="<AdapterAliasList><AdapterAlias>sample://</AdapterAlias></AdapterAliasList>"  

Pagine delle proprietà di configurazione

L'adapter deve disporre di pagine delle proprietà di configurazione per configurare le proprie porte di ricezione e trasmissione. Ogni adapter registra le proprie pagine delle proprietà tramite la specificazione dei rispettivi ID di classe.

"InboundProtocol_PageProv"="{%CLSID for inbound protocol prop page%}"  
"OutboundProtocol_PageProv"="{%CLSID for outbound protocol prop page%}"  
"ReceiveLocation_PageProv"="{%CLSID for receive location prop page%}"  
"TransmitLocation_PageProv"="{%CLSID for transmit location prop page%}"  

Se per la generazione delle pagine delle proprietà l'adapter utilizza l'interfaccia utente di Adapter Framework, per le chiavi del Registro di sistema si dovranno specificare i valori seguenti:

"InboundProtocol_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A281}"  
"OutboundProtocol_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A283}"  
"ReceiveLocation_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A280}"  
"TransmitLocation_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A282}"  

Si noti che se uno degli endpoint non è necessario (l'adapter è di sola trasmissione o di sola ricezione), è possibile eliminare dal Registro di sistema le chiavi inutilizzate.

Registrazione di componenti in fase di esecuzione

L'adapter registra i propri componenti runtime specificandone gli ID di classe (per gli elementi COM e .NET), nonché i nomi dei tipi e i percorsi degli assembly (per gli elementi .NET) per i componenti runtime di ricezione e trasmissione.

Nota

Tutte le chiavi OutboundEngineCLSID e InboundEngineCLSID devono essere univoce. Per una singola riga in un database, OutboundEngineCLSID e InboundEngineCLSID possono essere uguali.

"OutboundEngineCLSID"="{%CLSID of outbound transport%}"  
"InboundEngineCLSID"="{%CLSID of inbound transport%}"  
"InboundTypeName"="BizTalk.Samples.Adapters.MyReceiver"  
"OutboundTypeName"="BizTalk.Samples.Adapters.MyTransmitter"  
"InboundAssemblyPath"="C:\Program Files\MyTransport.dll"  
"OutboundAssemblyPath"="C:\Program Files\MyTransport.dll"  

Nota

È possibile installare un assembly dell'adapter nella Global Assembly Cache e farvi riferimento del file del Registro di sistema.

Registrazione di proprietà degli adapter per l'archivio di configurazione SSO

L'adapter deve registrare le proprie proprietà nel database SSO di BizTalk Server per poterle memorizzare e recuperare in fase di progettazione e di esecuzione.

ReceiveHandlerPropertiesXML  
ReceiveLocationPropertiesXML  
SendHandlerPropertiesXML  
SendLocationPropertiesXML  

Questi valori contengono le definizioni (schema) delle proprietà consentite per le entità corrispondenti correlate all'adapter, memorizzabili nell'archivio di configurazione. Queste definizioni vengono mantenute sotto forma di stringhe XML che vengono deserializzate dall'elenco proprietà contenente i tipi delle proprietà ma senza valori. La presenza di un valore dell'elemento proprietà indica che la proprietà è mascherata. (Con il termine "mascherata" si intende dire che è di sola lettura e non viene restituita dall'API di archiviazione protetta quando viene chiamata in modalità amministrativa. Per tali proprietà l'API restituisce VT_NULL).

Esempio

L'adapter HTTP registra le relative proprietà per la porta di trasmissione HTTP definendo la chiave del Registro di sistema SendLocationPropertiesXML con il valore seguente:

<CustomProps><Username vt="8"/><Password vt="8">Encrypted</Password><Certificate vt="8"/><RequestTimeout vt="3"/><MaxRedirects vt="3"/><ContentType vt="8"/><UseProxy vt="11"/><ProxyName vt="8"/><ProxyPort vt="3"/><ProxyUsername vt="8"/><ProxyPassword vt="8">Encrypted</ProxyPassword><UseHandlerSetting vt="11"/><AuthenticationScheme vt="8"/><UseSSO vt="11"/><AffiliateApplicationName vt="8"/></CustomProps>  

Registrazione del componente come provider di trasporto

L'adapter deve essere registrato come provider di trasporto nel relativo attributo Categorie implementate nel Registro di sistema. Questo attributo identifica le caratteristiche dell'adapter per i consumer.

[HKEY_CLASSES_ROOT\CLSID\{%uuid of custom transport%}\Implemented Categories]  
[HKEY_CLASSES_ROOT\CLSID\{%uuid of custom transport%}\Implemented Categories\{7F46FC3E-3C2C-405B-A47F-8D17942BA8F9}]  

Vedere anche

Problemi della progettazione degli adapter