Content Based Routing of the MSMQ Label field (Routing Failure)
Web Server forum
Back To The Forum Home!Search!Private Messaging System

Web Server Talk Web Server Talk > Web Servers reviews > BizTalk Server > BizTalk Server General > Content Based Routing of the MSMQ Label field (Routing Failure)




  Last Thread   Next Thread Next
  Show Printable Version Email this Page Subscribe to this Thread      Post New Thread    Post A Reply      

    Content Based Routing of the MSMQ Label field (Routing Failure)  
rodk


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
09-23-05 01:58 AM

========
Summary:
========

I am using
BizTalk Server 2004 Adapter for MSMQ v2.0 (Adapter for MSMQ)

I have a Biztalk receive port called ReceivePortMsmq (the underlying MSMQ
port is .\PRIVATE$\BIZTALKRECEIVEPORT1)
I have a Biztalk send port called SendPort1. SendPort1 is configured for
MSMQ (but that doesn't really matter for this problem because I'm having
problems with the Content Based Routing).

I want to set up a filter on SendPort1 so that if an MSMQ message
has a label of TriggerLabel, then the message is sent to SendPort1.

Unfortunately, the filter does not work on the Label field of MSMQ
and a routing failure occurs for the message.

========
Details:
========

The intended sequence is:
() Send MSMQ message to ReceivePortMsmq
() BizTalk reads message
() Check Filter on SendPort1. Since it matches, place the message
in the MSMQ associated with SendPort1

If I set up Content Based Routing under SendPort1 this way:
Edit..., Filters & Maps, Filters

MSMQ.Label == TriggerLabel

Note: MSMQ.Label appears in the drop-down because the Assemblies folder
contains Microsoft.BizTalk.Adapter.MSMQ.MsmqAdapterProperties.dll

When I send the message to ReceivePortMsmq, I get a Routing Failure.

I run the Health and Activity Tracking (HAT) tool,
Operations, Messages
I get 2 messages
%%%%%%%%%%
"empty" means the field value is empty/blank

Message 1:

Message Type: empty
Message Status: Suspended
Service Status: Suspended (not resumable)
Service Name: empty
Assembly Name: empty
Service Class: Routing failure report
Service Pending Job: None
Retry Count: 0
Timestamp: 9/22/2005 12:43:44 PM
Submitter: WIN2003ES\Adminstrator
MsgBox Server: WIN2003ES
MsgBox DB: BizTalkMsgBoxDb
Host: BizTalkServerApplication
OriginatorSID: WIN2003ES\Administrator
OriginatorPID: s-1-5-7
Inbound Adapter: MSMQ
Inbound URL: FORMATNAME:DIRECT=OS:.\PRIVATE$\BIZTALKRECEIVEPORT1
Outbound Adapter: empty
Outbound URL: empty
Service Instance ID: 2891f095-6479-4686-b083-925340c39d90
Message ID: 2204d6ba-c83c-446c-95a3-d639dc138c0e


Message 2:

Message Type: empty
Message Status: Suspended
Service Status: Suspended (not resumable)
Service Name: MSMQ (receive)
Assembly Name: empty
Service Class: Messaging
Service Pending Job: None
Retry Count: 0
Timestamp: 9/22/2005 12:43:46 PM
Submitter: WIN2003ES\Adminstrator
MsgBox Server: WIN2003ES
MsgBox DB: BizTalkMsgBoxDb
Host: BizTalkServerApplication
OriginatorSID: WIN2003ES\Administrator
OriginatorPID: s-1-5-7
Inbound Adapter: MSMQ
Inbound URL: FORMATNAME:DIRECT=OS:.\PRIVATE$\BIZTALKRECEIVEPORT1
Outbound Adapter: empty
Outbound URL: empty
Service Instance ID: 084c002f-ed6f-48b8-b2f7-74c97ff4a3ea
Message ID: 897dfca2-7015-4551-8d4f-d53cb11eb1b2


If I look at the Message Details for Message 1, I see:
Message ID: 2204d6ba-c83c-446c-95a3-d639dc138c0e
Content
ReceivePortName=ReceivePortMsmq, IsPromoted=True
Namespace=http://schemas.microsoft.com/BizTalk/2003/msmq-properties
Label=TriggerLabel, IsPromoted=False
Namespace=http://schemas.microsoft.com/BizTalk/2003/msmq-properties

If I look at the Message Details for Message 2, I see:
Message ID: 897dfca2-7015-4551-8d4f-d53cb11eb1b2
Label=TriggerLabel, IsPromoted=False
Namespace=http://schemas.microsoft.com/BizTalk/2003/msmq-properties
note: the property ReceivePortMsmq is not present

%%%%%%%%%%

It appears that the MSMQ.Label is not getting promoted.

If you look in the Adapter for MSMQ Help
(Start, Programs, Microsoft BizTalk 2004 Adapter for MSMQ 2.0, Documentation
)
in the aricle:
BizTalk 2004 Adapter for MSMQ Properties
there is this excerpt:
--------
Message Labels
You can use the Message Queuing Label property in filters by adding a
reference to MSMQAdapterProperties.dll and selecting the property in the
Filter dialog box. You can also use the property in other contexts because
the adapter for MSMQ automatically adds it to the message context.
--------

So the excerpt implies to me that no promotion is needed, even though the
Context for the Messages in the Health and Activity Tracking tool
states that Label is not promoted.

What steps are needed for Content Based Routing to work with
the Microsoft Biztalk 2004 Adapter for MSMQ 2.0?

I know my MSMQ installation works because if I do this on
the Send Port:
Edit..., Filters & Maps, Filters
BTS.ReceivePortName == ReceivePortMsmq

then when I send a message to ReceivePortMsmq, BizTalk reads the message
and places the message in the SendPort1 MSMQ queue.

%%%%%%%%
Configuration:

Receive Port: ReceivePortMsmq
Receive Location: Receive Location1
Transport Type: MSMQ
Address (URI): FORMATNAME:DIRECT=OS:.\PRIVATE$\BIZTALKRECEIVEPORT1
Receive Handler: BizTalkServerApplication
Receive Pipeline: Microsoft.BizTalk.DefaultPipelines.PassThruReceive

Send Port: SendPort1
Transport, Primary
Transport Type: MSMQ
Address (URI): FORMATNAME:DIRECT=OS:.\PRIVATE$\BIZTALKSENDPORT1
Retry Count: 3
Retry Interval: 5
Ordered Delivery: False
Transport, Secondary: none specified
Send, General
Send pipeline: Microsoft.BizTalk.DefaultPipelines.PassThruTransmit
Filters & Maps, Filters
MSMQ.Label == TriggerLabel


%%%%%%%%






[ Post a follow-up to this message ]



    RE: Content Based Routing of the MSMQ Label field (Routing Failure)  
Eldar Musayev


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
09-23-05 10:52 PM


MSMQ.Label property exists in the context, but it is not promoted it
BizTalk 2004. It is goign to be fixed in BizTalk 2006, but in BTS 2004 you
may have to include a custom pipeline component that would promote this
property.
Regards,
Eldar
http://blogs.msdn.com/eldarm/default.aspx

This posting is provided "AS IS" with no warranties, and confers no rights.
Business Process Integration Team

Get Connected!
Meet and interact with key BizTalk Server program managers, developers, and
testers, and let them and other BizTalk Server community team members and
Most Valuable Professionals help you solve your product questions.

Navigate to http://msdn.microsoft.com/subscriptions/support/ in your
webrowser and register as a managed customer to receive MSDN Managed
Newsgroup Support!

MSDN managed newsgroups are available in English to MSDN Universal,
Enterprise, Professional, and Operating Systems subscribers to receive
free, unlimited technical support on select Microsoft technologies as well
as to share ideas with other subscribers.
--------------------[vbcol=seagreen] 
Failure)[vbcol=seagreen] 
Namespace=http://schemas.microsoft.com/BizTalk/2003/msmq-properties[vbcol=seagreen] 
Namespace=http://schemas.microsoft.com/BizTalk/2003/msmq-properties[vbcol=seagreen] 
Namespace=http://schemas.microsoft.com/BizTalk/2003/msmq-properties[vbcol=seagreen] 
Documentation)[vbcol=seagreen] 
because[vbcol=seagreen] 
Microsoft.BizTalk.DefaultPipelines.PassThruReceive[vbcol=seagreen] 
Microsoft.BizTalk.DefaultPipelines.PassThruTransmit[vbcol=seagreen] 






[ Post a follow-up to this message ]



    Sponsored Links  




 





   All times are GMT. The time now is 08:02 PM.      Post New Thread    Post A Reply      
  Last Thread   Next Thread Next


Most Popular forums 

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 
Medical and Health forum | Computer Games Reviews | Graphics design forum

Back To The Top
Home | Usercp | Faq | Register