Adaptadores de CS2007 y Windows Registry

Cada uno de los adaptadores de CS2007 para BTS2006 almacena informacion por cada instancia configurada en cada puerto de envio y/o de recepcion en el Windows Registry. Cada uno de los adaptadores utiliza su propia clave para almacenar la informacion:
 

Tipo Adaptador Clave en Windows Registry
Catalog Adapter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Commerce Server 2007 BizTalk Adapters\Catalog
Inventory Adapter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Commerce Server 2007 BizTalk Adapters\Inventory
Orders Adapter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Commerce Server 2007 BizTalk Adapters\Orders
Profiles Adapter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Commerce Server 2007 BizTalk Adapters\Profiles

**

Los valores creados o actualizados en cada ejecucion de una instancia de cualquier adaptador de CS2007 se relacionan a continuacion:

  • DateTime Of Last Run : almacena la fecha de la ultima ejecucion del adapdator configurado al puerto de recepcion o de envio
  • DateTime Of Next Run : almacena la proxima fecha en la cual se ejecutara el adaptador configurado a un puerto de recepcion
  • Trace Guid : almacena un GUID que identifica cada instancia configurada del adaptador con el fin de hacer seguimientos

En adicion, cuando se crea/modifica un puerto de envio y/o recepcion se puede determinar que la consola administrativa valide los parametros especificados en dicha configuracion basada en un valor DWORD especificado en el Windows Registry, por defecto este valor es creado en la instalacion de lo adaptadores.

Por lo tanto y para lograr esta validacion se debe crear un valor DWORD llamado ConfigValidation con valor 1 en la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Commerce Server 2007 BizTalk Adapters del Windows Registry.

Es importante tener en cuenta que la creacion de este valor bajara la velocidad en la creacion/configuracion de cada una de las instancias de estos adaptadores.

 

**Advertencia

En BTS2006 cada instancia de un adaptador configurado en un puerto de envio y/o recepcion debe estar relacionada con una instancia de host (Host Instance), esta a su ves tiene asociado una cuenta de usuario bajo la cual se ejecuta.

Es importante chequear que el(los) usuario(s) que esta(n) ejecutando la(s) instancia(s) de cada adaptador tengan permisos de escritura y lectura sobre la clave del Windows Registry:

Catalog Adapter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Commerce Server 2007 BizTalk Adapters

En caso que este usuario no tenga permisos, uno de los siguientes error sera mostrado en el visor de eventos (EventLog) en cada ejecucion del adaptador.

Event Type: Error
Event Source: Commerce Server Catalog Receive Adapter
Computer: ComputerName
Description:
Failed opening or reading the Registry subkey: Software\Microsoft\Commerce Server 2007 BizTalk Adapters\adapter_type\subkey. Message: Requested registry access is not allowed.. Stack trace: at System.ThrowHelper.ThrowSecurityException(ExceptionResource resource)
at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
at Microsoft.CommerceServer.BizTalk.Adapters.CommonUtilities.WriteRegistryString(String keyPath, String keyToWrite, String value, String eventViewId, AdapterTraceProvider tracer).

*******

Event Type: Error
Event Source: Commerce Server TypeOfAdapter Adapter
Computer: ComputerName
Description:
Failed opening or reading the Registry subkey: Software\Microsoft\Commerce Server 2007 BizTalk Adapters\adapter_type. Message: Requested registry access is not allowed.. Stack trace: at System.ThrowHelper.ThrowSecurityException(ExceptionResource resource)
at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
at Microsoft.CommerceServer.BizTalk.Adapters.CommonUtilities.WriteRegistryString(String keyPath, String keyToWrite, String value, String eventViewId, AdapterTraceProvider tracer).

*******

Event Type: Error
Event Source: Commerce Server TypeOfAdapter Adapter
Computer: ComputerName
Description:
SubmitBatch failed. Message: Requested registry access is not allowed.. Stack trace: at System.ThrowHelper.ThrowSecurityException(ExceptionResource resource)
at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
at Microsoft.CommerceServer.BizTalk.Adapters.CommonUtilities.WriteRegistryString(String keyPath, String keyToWrite, String value, String eventViewId, AdapterTraceProvider tracer)
at Microsoft.CommerceServer.Adapter.Catalog.CatalogReceiveEndpoint.set_LastRun(DateTime value)
at Microsoft.CommerceServer.Adapter.Catalog.CatalogReceiveEndpoint.SubmitBatch().

Aunque este error no impide la comunicacion entre BTS2006 y CS2007 y el envio/recepcion de la informacion, si impide la actualizacion/creacion de los valores en el Windows Registry en cada instancia.

Para mayor informacion acerca de como asignar permisos en Windows Registry, visitar el articulo How To User The Windows XP and Windows Server 2003 Registry Editor Features

 

Autor: Carlos Medina

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga