Exportar (0) Imprimir
Expandir todo

Solución de problemas en el proceso y tiempo de ejecución del proveedor

En este tema se tratan los problemas que se producen en el tiempo de ejecución cuando un proceso o proveedor de BizTalk RFID realiza una operación. La siguiente lista de problemas proporciona síntomas específicos, posibles causas y soluciones.

Problemas y soluciones

La sección Resumen de errores de la página de información general del proceso indica un error en el procesamiento de eventos debido a un evento nulo.

Síntomas
  • La sección Resumen de errores de la página de información general de un proceso del Administrador de RFID presenta el mensaje de error siguiente:

    El destino de una invocación ha producido la excepción. --> BizTalk RFID detectó un error interno: no se puede exponer un evento nulo al receptor de SQL Server. Si la situación persiste, póngase en contacto con el soporte técnico de Microsoft para obtener más ayuda. Nombre de parámetro: nombreDispositivo.

  • El archivo de registro de proceso para el proceso tiene la siguiente información:

    5| Error|112707 17:07:28|PostEventToSink System.ArgumentNullException: BizTalk RFID ha detectado un error interno: no se puede exponer un evento nulo al receptor de SQL Server. Si la situación persiste, póngase en contacto con el soporte técnico de Microsoft para obtener más ayuda.

    Nombre de parámetro: nombreDispositivo

    en Microsoft.SensorServices.Rfid.ProcessComponents.SinkDataAccessHelper.ValidateTag(TagReadEvent serverTag, String deviceName)

    en Microsoft.SensorServices.Rfid.ProcessComponents.SinkDataAccessHelper.PostEvent(TagReadEvent tagReadEvent, SqlServerSinkConfig config, registrador ILogger)

    en Microsoft.SensorServices.Rfid.ProcessComponents.SqlServerSink.PostEventToSink(RfidEventBase eventBase)|[SqlServerSink]



    5|Advertencia|112707 17:07:28|<desc>Excepción en ProcessEvent.</desc><params>exception:System.Reflection.TargetInvocationException: El destino de una invocación ha producido la excepción. ---> System.ArgumentNullException: Microsoft BizTalk RFID ha detectado un error interno: no se puede exponer un evento nulo al receptor de SQL Server. Si la situación persiste, póngase en contacto con el soporte técnico de Microsoft para obtener más ayuda.

    Nombre de parámetro: nombreDispositivo

    en Microsoft.SensorServices.Rfid.ProcessComponents.SinkDataAccessHelper.ValidateTag(TagReadEvent serverTag, String deviceName)

    en Microsoft.SensorServices.Rfid.ProcessComponents.SinkDataAccessHelper.PostEvent(TagReadEvent tagReadEvent, SqlServerSinkConfig config, registrador ILogger)

    en Microsoft.SensorServices.Rfid.ProcessComponents.SqlServerSink.PostEventToSink (RfidEventBase eventBase)

    --- Fin del seguimiento de la pila de la excepción interna ---

  • Si el número total de errores supera el valor de ErrorPercentageThreshold establecido para el proceso, también puede observar que el proceso se recicla y se registran los siguientes eventos en el registro de eventos:

    Ubicación del evento: registro de eventos de aplicación

    Tipo de evento: error

    Origen del evento: MSBizTalkRFID

    Categoría del evento: Administrador de procesos

    Identificador del evento: 3007

    Descripción:

    El motor de procesos de RFID <nombre de proceso> detectó un error de tipo ThresholdBreached. El servicio intentará reiniciar el motor de procesos de forma automática, a menos que exista un error grave conocido. Información adicional: si se debe a un error grave conocido, resuelva el problema y reinicie el proveedor o el proceso de forma manual.



    Ubicación del evento: registro de eventos del sistema

    Tipo de evento: advertencia

    Origen del evento: W3SVC

    Categoría del evento: ninguna

    Identificador del evento: 1013

    Descripción:

    Un proceso que sirve al grupo de aplicaciones <nombreGrupoAplicaciones> ha superado los límites de tiempo durante el cierre. El identificador del proceso era <identificador de proceso>.

Causa

Este error se produce porque expuso un evento con el nombre de dispositivo en blanco para un proceso RFID mediante la llamada de la API AddEventToProcessPipeline o el comando AddEventToProcessPipeline de la utilidad RFIDClientConsole.

Solución

Especifique un nombre de dispositivo para el evento en los datos XML que se envían y vuelva a enviar el evento.

Después de reparar o migrar BizTalk Server RFID, se recibe un error de servidor RFID

Síntomas

Después de migrar desde una versión anterior de BizTalk Server RFID o después de reparar BizTalk Server RFID, se recibe el siguiente mensaje de error al iniciar un proceso RFID sin establecer los parámetros de tipo de cadena segura del controlador de eventos “Error de servidor RFID. Consulte la excepción interna para obtener información detallada. (Clave de excepción interna no válida para usar en el estado especificado)”.

Causa

No se puede descifrar la información del almacén RFID que se ha cifrado mediante una versión anterior de la cuenta de RSA de BizTalk Server RFID.

Solución

Establezca los parámetros de tipo de cadena segura del controlador de eventos.

Recibe un mensaje de error de tiempo de espera agotado debido a una falta de conexiones en el grupo

Síntomas

Se recibe el siguiente mensaje de error al utilizar el componente SQLServerSink en un proceso:

Tiempo de espera agotado. El período de tiempo de espera se ha agotado antes de obtener una conexión en el grupo. Se puede haber producido debido a las conexiones agrupadas que se utilizaron y a que se ha alcanzado el tamaño máximo de grupo.

Causa

El componente SQLServerSink espera a que la conexión agrupada esté disponible para su uso y agota el tiempo de espera, ya que las conexiones agrupadas se están utilizando y las nuevas conexiones no se pueden crear debido a que se ha alcanzado el tamaño de grupo máximo.

Solución

Aumentar o establecer el valor de la opción MaxPoolSize de las opciones de la cadena de conexión para el componente SQLServerSink en un valor superior a 100.

El proceso no recibe los eventos cuando se enlaza a un origen (por ejemplo una antena)

Síntomas

Un proceso RFID no recibe un evento de un origen (por ejemplo, una antena) cuando el proceso se enlaza al origen (no el dispositivo).

Causa

El proveedor de dispositivos no establece un valor en la propiedad Origen del objeto TagListEvent, el proveedor no envía etiquetas de distintos orígenes como parte de TagListEvent ni se cambia el nombre del origen una vez creado el enlace.

Solución

El proveedor de dispositivos debe establecer el valor de la propiedad Origen del objeto TagListEvent en el origen del evento y el proveedor no debe mezclar etiquetas de distintos orígenes como parte de un único TagListEvent. Si se cambia el nombre del origen una vez creado el enlace, elimine o vuelva a crear el enlace.

Las llamadas del servicio Web de las aplicaciones ASP.NET generan mensajes de error de acceso denegado

Síntomas

Se generan errores de acceso denegado al intentar llamar al servicio Web RFID de una aplicación ASP.NET.

Causa

Por motivos de seguridad, no se permite a todos los usuarios llamar al servicio Web RFID. Las llamadas al servicio Web realizadas desde una aplicación ASP.NET pueden producir un error si la identidad del proceso de la aplicación no se ha configurado correctamente. Para obtener más información acerca de los usuarios a los que se le permite llamar al servicio Web RFID, vea Restricciones de seguridad en llamadas a servicios web.

Solución

Se deben garantizar los permisos adecuados a la cuenta ASP.NET según los requisitos. Por ejemplo, puede convertir la cuenta en un miembro de RFID_USER o Administradores.

noteNota
La pertenencia a un grupo local no tiene ningún efecto hasta que el usuario actual cierre sesión y, a continuación, vuelve a iniciarla. Por tanto, si observa que agregar un usuario al grupo RFID_USER no proporciona al usuario los privilegios solicitados, cierre sesión e iníciela de nuevo.

De forma alternativa, puede utilizar una cuenta de Windows distinta como cuenta ASP.NET. Para obtener información, vea http://go.microsoft.com/fwlink/?LinkId=195483.

Excepción de acceso no autorizado en un equipo Windows Server 2008 SP2 o Windows Server 2008 R2

Síntomas

Se produce una excepción de acceso no autorizado en un equipo Windows Server 2008 SP2Windows Server 2008 R2 cuando un proveedor RFID intenta obtener acceso a los archivos ubicados en la carpeta %RFIDINSTALLDIR%\bin.

Causa

La cuenta de proceso de trabajo (PSA) no tiene privilegios de lectura en la carpeta %RFIDINSTALLDIR%\bin.

Solución

Configure los privilegios de la forma siguiente:

  1. Desplácese a la carpeta %RFIDINSTALLDIR%.

  2. Haga clic con el botón secundario en la carpeta bin y, a continuación, haga clic en Propiedades.

  3. Haga clic en la pestaña Seguridad.

  4. Si RFIDWorkerProcessAcc no se enumera en el cuadro de lista de nombres de grupo o usuario, agréguelo haciendo clic en Agregar y mediante la selección de la cuenta RFIDWorkerProcessAcc. Vaya al paso 6.

  5. Si RFIDWorkerProcessAcc se enumera en el cuadro de lista de nombres de grupo o usuario , selecciónelo y vea el cuadro de lista de permisos para la cuenta de proceso de trabajo RFID.

  6. Compruebe que se ha activado la casilla Permitir para el permiso de lectura.

  7. Haga clic en Aceptar.

El proceso registra un error que indica que la transacción no está activa tras ejecutar eventhandler en el archivo de registro

Síntomas

Error en un proceso BizTalk RFID con un controlador de eventos que obtiene acceso a un recurso durante la ejecución con el siguiente mensaje de error en el archivo de registro:

La transacción no está activa tras ejecutar eventhandler.

Causa

Ve el error en el archivo de registro, ya que el modo de confiabilidad de control de mensajes del proceso se establece como Transaccional y se produce el error durante el acceso al recurso transaccional.

De forma predeterminada, el valor del modo de confiabilidad de control de mensajes para un proceso BizTalk RFID se establece como Transaccional. Puede cambiar el valor a los modos Reliable o Express. Si el modo de confiabilidad de control de mensajes para un proceso se establece como Transaccional, el servicio BizTalk RFID crea un TransactionScope en torno a todos los controladores de eventos del proceso. Por tanto, si se produce un error en el procesamiento, el mensaje vuelve a la cola y no se pierde. No obstante, cuando el mensaje vuelve a la cola de procesos, continúa el procesamiento del mensaje. Se trata como error y está sujeto a las rutinas de control de errores. Para obtener más información, vea Control de un error en el proceso RFID y Modelo de transacciones.

Si el controlador de eventos obtiene acceso a un recurso transaccional, por ejemplo, SQL Server, el recurso se da de alta de forma automática en la transacción global a menos que desactive el alta de forma explícita. Por ejemplo, mediante el parámetro enlist=false de una cadena de conexión para una base de datos se desactiva el alta. Si se produce algún error al controlar el recurso transaccional, la transacción global se anula y se marca como inactiva mediante el administrador de transacciones. El motor de procesos detecta esta condición y registra el mensaje de error mencionado en la instrucción del problema. Si el controlador de eventos captura todas las excepciones, es posible que no vea el mensaje de excepción original del registro.

Solución

Cambie el modo de confiabilidad de control de mensajes a Reliable o Express si no es necesario llevar a cabo una transacción global en torno a los controladores de eventos del proceso. Si no ve ninguna otra excepción antes de este error en el archivo de registro, compruebe que el controlador de eventos no captura todas las excepciones. Si tiene que capturar todas las excepciones, compruebe que la excepción se registra en el archivo de registro de procesos.

La configuración del valor de puerto E/S en un dispositivo desde un controlador de eventos puede dar lugar a un error DeviceManagerException

Síntomas

El siguiente error se puede producir al intentar establecer el valor de puerto E/S en un dispositivo desde un controlador de eventos:

System.IO.SensorServices.Rfid.Client.DeviceManagerException:
Insufficient permissions to perform the requested operation on device entity <device name>.
  at System.IO.SensorServices.Rfid.Client.DeviceConnection.ExecuteCommand[TCommand](String deviceSourceName, TCommand cmd, VendorDefinedParameters parameters) 
  at System.IO.SensorServices.Rfid.Client.DeviceConnection.SetProperty(String sourceName, String groupName, String propertyName, Object value, VendorDefinedParameters parameters)
Causa

La cuenta de proceso de trabajo (PSA) en un equipo Windows Server 2008 SP2 o Windows Server 2008 R2, o la cuenta de servicio RFID (RSA) en el equipo Windows 7 o Windows Vista SP2 no pertenece al grupo de administradores de dispositivos en el Administrador de RFID.

Solución

Para solucionar este problema, agregue la PSA (en un equipo Windows Server 2008 SP2 o Windows Server 2008 R2) o la RSA (en un equipo Windows 7 o Windows Vista SP2) al grupo de administradores de dispositivos en el Administrador de RFID. Para obtener más información acerca de PSA y RSA, vea Configuración de seguridad de los dispositivos.

El proveedor se muestra como iniciado, pero en mal estado

Síntomas

El estado de proveedor en el Administrador de RFID puede mostrarse como "Iniciado – En mal estado".

Causa

Es posible que el proveedor muestre este problema debido a un error del proveedor o a que los tiempos de espera no se han configurado correctamente.

Solución

Para comprobar el problema, llame a GetProviderStatus del proveedor mediante rfidclientconsole.exe. Si ve un elevado número de ThreadOrphaned Faults, debe tener en cuenta el aumento de los tiempos de espera. Si ve otros errores, debe ponerse en contacto con el fabricante de proveedor.

Para aumentar los tiempos de espera:

  1. Aumenta ClientConnectionTimeout en RFIDTools.config.

    Para obtener más información, vea Archivo RFIDTools.config.

  2. Aumente el tiempo de espera de subproceso del proveedor.

    Para obtener más información, vea Configuración de un tiempo de espera RFID.

  3. Utilice SetServerConfiguration para aumentar IISTimeout en HostingConfiguration en RFIDServerRuntimeConfiguration.

  4. Reinicie el servicio.

Si esto no soluciona el problema, póngase en contacto con el fabricante de proveedor.

En Windows 7 o Windows Vista SP2, todas las aplicaciones y componentes BizTalk RFID se cierran repentinamente.

Síntomas

Cuando Microsoft Update instala las actualizaciones en un equipo que ejecuta Windows 7, todas las aplicaciones y todos los componentes BizTalk RFID se cierran repentinamente.

Causa

Microsoft Update ha actualizado un archivo .dll o .exe.

Solución

Cuando Microsoft Update indique que existe una actualización de software disponible para BizTalk RFID, cierre todas las aplicaciones y todos los componentes BizTalk RFID, instale la actualización de software y, a continuación, reinicie las aplicaciones y componentes.

Error en la ejecución de comandos con "se encontró más de una etiqueta"

Síntomas

Cuando se ejecuta un comando con respecto a un dispositivo, el comando produce un error porque existen dos o más etiquetas para el mismo identificador de etiquetas. Por ejemplo, si ejecuta el comando "rfidclientconsole.exe ExecuteCommands ContosoTestDevice commands\LockTagCmd.xml" después de ejecutar dos veces el comando "rfidclientconsole.exe ExecuteCommands ContosoTestDevice commands\PrintTagCmd.xml", recibirá el mensaje de error siguiente:

"Error de comando; motivo No se pudo ejecutar el comando debido al error <commandError><errorCode>Se detectó un error desconocido.</errorCode><message>se encontró más de una etiqueta con el identificador de etiqueta especificado</message><errorKey>14</errorKey><parameters></parameters><providerException></providerException></commandError>. Resuelva el problema que está ocasionando la excepción e intente realizar de nuevo la operación. Mensaje remoto No se pudo ejecutar el comando debido al error <commandError><errorCode>Se detectó un error desconocido.</errorCode><message>se encontró más de una etiqueta con el identificador de etiqueta especificado</message><errorKey>14</errorKey><parameters></parameters><providerException></providerException></commandError>. Resuelva el problema que está ocasionando la excepción e intente realizar de nuevo la operación".

Causa

El dispositivo contiene más de una etiqueta para el identificador de etiquetas especificado.

Solución

Asegúrese de que el dispositivo no contiene más de una etiqueta para un determinado identificador de etiquetas. En el escenario anterior, no debe ejecutar el comando de impresión de etiquetas dos veces. Además, debe comprobar que los identificadores de etiquetas de los archivos XML sean únicos cuando deben ser únicos.

La detección automática de proveedores no funciona en Windows 7 o Windows Vista SP2

Síntomas

Después de instalar un proveedor en Windows 7 o Windows Vista SP2, BizTalk RFID no detecta automáticamente los dispositivos nuevos. Si intenta agregar manualmente un dispositivo, Windows devuelve un error de “formato no válido”. No obstante, cuando intenta las mismas acciones en Windows 7 o Windows Vista SP2, puede instalar el dispositivo automáticamente.

Causa

Es posible que Windows haya bloqueado el puerto IP automáticamente.

Solución

Compruebe firewall para asegurarse de que el puerto de detección todavía está abierto para el dispositivo.

En Windows 7 o Windows Vista SP2, los dispositivos no se detectan automáticamente ni se puede agregar un dispositivo de forma manual.

Síntomas

Después de instalar un proveedor en Windows 7 or Windows Vista SP2, no se detectan automáticamente los dispositivos que usan ese proveedor. Cuando intenta agregar manualmente los dispositivos, recibirá un error de “formato no válido”.

Causa

El firewall de Windows Vista puede haber cerrado automáticamente el puerto de detección.

Solución

Compruebe para ver si está bloqueado el puerto IP de detección para el proveedor y, si es necesario, permita el acceso a éste.

El proveedor LLRP no puede iniciarse después de modificar la propiedad de versión de LLRP

Síntomas

El proveedor LLRP no puede iniciarse después de modificar el valor de la propiedad Versión de LLRP del proveedor LLRP mediante el Administrador de RFID. El proveedor LLRP no se inicia incluso después de cambiar al valor original.

Causa

Versión de LLRP es una propiedad de solo lectura, pero el Administrador de RFID permite modificarlo. Cuando el Administrador de RFID intenta establecer la propiedad en el proveedor, la operación produce un error porque la propiedad es de solo lectura, pero deja al proveedor en un estado incoherente.

Solución

Elimine el proveedor LLRP mediante el Administrador de RFID y vuelva a registrarlo. Antes de eliminar el proveedor, debe hacer una copia de seguridad los procesos y dispositivos registrados con BizTalk RFID.

El proveedor LLRP no se inicia y muestra un error relacionado con la red.

Síntomas

BizTalk RFID se instaló correctamente y el proveedor LLRP está instalado y registrado. Sin embargo, el proveedor no se inicia con el mensaje de error:

  • El proveedor LLRP detectó un error. No hay ninguna red operativa con compatibilidad con multidifusión UDP. Asegúrese de que el equipo tenga, como mínimo, un adaptador de red operativo compatible con multidifusión UDP. Resuelva el problema que está ocasionando el error e intente realizar de nuevo la operación.

Causa

Este error se debe a que actualmente no hay adaptadores de red activos disponibles o no los había cuando se instaló BizTalk RFID.

Solución

Cuando haya una red disponible, reinicie el proveedor. Además, asegúrese de que haya disponible, como mínimo, un adaptador de red activo cuando:

  • BizTalk RFID se está instalando

  • Se está iniciando el proveedor LLRP.

Mostrar:
© 2014 Microsoft