No es posible recuperar mensajes de una cola ubicada en un equipo remoto con una versión anterior a Windows XP.

Microsoft.MSMQ.10.0.Rule.Collect.Event2216 (Rule)

No es posible recuperar mensajes de una cola ubicada en un equipo remoto con una versión anterior a Windows XP. Todos los desencadenadores asociados con la cola son no funcionales.

Knowledge Base article:

Resumen

No es posible recuperar mensajes de una cola ubicada en un equipo remoto con una versión anterior a Windows XP. Todos los desencadenadores asociados con la cola son no funcionales.

Causas

No es posible la recuperación de mensajes desde una cola que se encuentra en un equipo remoto con una versión anterior de Windows XP. Puede solucionar este problema al cambiar el tipo de desencadenador y puede hacer que una aplicación u objeto COM recupere el mensaje de la cola o vuelva a crearla en un equipo con Windows XP, Windows Vista o Windows 7.

Nota: Apenas se asoma un desencadenador que marca el mensaje en la cola pero el mensaje no se elimina.

Soluciones

Convierta un desencadenador de inspección o reproduzca la cola en Windows XP, Windows Vista o Windows 7

Para llevar a cabo estos procedimientos, debe ser miembro de Administradores o tener delegada la autoridad adecuada.

Convierta un desencadenador en un desencadenador de inspección

Convierta un desencadenador en un desencadenador de inspección y proporcione una aplicación u objeto COM que se encargará de recuperar el mensaje de la cola. Utilice esta opción si su lógica de negocios para el manejo de mensajes no requiere de un desencadenador de recuperación.

Nota: Si no hay nada en su configuración de Message Queue que pueda recuperar mensajes de sus colas, el rendimiento de Message Queue sufrirá. Tenga en cuenta el uso de cuotas de cola y la implementación de una solución que consuma mensajes que han llegado en sus colas. Para obtener más información, consulte el artículo 899612 en Microsoft Knowledge Base ( http://go.microsoft.com/fwlink/?LinkID=107359).

Para cambiar el desencadenador a un desencadenador que apenas se asoma:

Reproduzca la cola en Windows XP, Windows Vista o Windows 7

Reproduzca la cola con el desencadenador adjunto de un equipo con una versión anterior de Windows XP a uno con Windows XP, Windows Vista o Windows 7. Utilice esta opción si necesita la funcionalidad de recuperación del desencadenador y puede usar un equipo con Windows XP, Windows Vista o Windows 7 para alojar la cola que está actualmente en un equipo con una versión anterior de Windows XP.

Nota: Todas las aplicaciones que actualmente estén enviando mensajes a esta cola deben modificarse para que envíen a la nueva cola en el equipo con Windows XP o Windows Vista, o los mensajes deberán ser reenviados de la cola en una versión anterior de Windows XP a la nueva cola en el equipo con Windows XP o Windows Vista.

Para volver a crear colas anteriores a Windows XP en Windows XP, Windows Vista o Windows 7:

Convierta un desencadenador en un desencadenador de inspección

Cambie el desencadenador a un desencadenador que apenas se asoma y proporcione una aplicación u objeto COM que se encargará de recuperar el mensaje de la cola. Use esta opción si tiene una aplicación que pueda encargarse de la recuperación de mensajes.

Nota: No puede usar un equipo con Windows XP, Windows Vista o Windows 7 para la cola que se está supervisando (que actualmente está en el equipo con una versión anterior de Windows XP). En este caso, necesitará una aplicación u objeto COM que recuperará los mensajes de la cola.

Para cambiar el desencadenador a un desencadenador que apenas se asoma:

Adicional

Para obtener más información, consulte el identificador del evento 2216 ( http://technet.microsoft.com/es-es/library/dd338554(WS.10).aspx).

Element properties:

TargetMicrosoft.MSMQ.10.0.Triggers
CategoryEventCollection
EnabledFalse
Alert GenerateFalse
RemotableTrue
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectEvent Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishEventData Default

Source Code:

<Rule ID="Microsoft.MSMQ.10.0.Rule.Collect.Event2216" Enabled="false" Target="Microsoft.MSMQ.10.0.Triggers" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2216</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="Microsoft.MSMQ.10.0.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectEvent"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData"/>
</WriteActions>
</Rule>