Re: Suspended messages?
From: Tareq Mohamed (TareqMohamed_at_discussions.microsoft.com)
Date: Tue, 1 Feb 2022 03:19:44 -0800
Great post Hugo,
In real world senarios, what do u do with those messages, malformed xml
"Hugo Rodger-Brown" wrote:
> If your receive location is using an XmlReceive pipeline, then malformed Xml
> documents will be suspended, as the XmlDissasembler will throw an exception
> whilst attempting to parse the document. All suspended documents can be
> viewed in HAT - look under Operations > Service Instances, selecting Class
> == "Messaging", and you should see it. You can use the context-menu option
> "Save Tracked Message" to save a copy of the message to disk, where you can
> view the contents.
> In this case the message never reaches the messagebox, so subscriptions are
> never matched. (The message agent only processes messages that are received
> into the message box.) If you use the PassThru pipeline in your receive
> location, the message will reach the message box regardless, as the xml is
> not being parsed. However, no message properties will be promoted if you use
> the PassThru pipeline, so CBR cannot be based on message content.
> If you do use a PassThru receive pipeline, and have your send port enlisted
> and routing messages based on non-content criteria (e.g. receive port name),
> then the message will be routed to the send port regardless of the validity
> of the xml. However - if the send port uses the XmlSend pipeline, the
> message will now fail in the send port, because of the same issue. It will
> again be visible in HAT, and the contents of it can be viewed by
> right-clicking on the messaging service in HAT, and selecting "Save All
> Tracked Messages".
> So - if the xml is invalid, it will always fail in an XmlReceive or XmlSend
> pipeline, which means CBR cannot use message properties, as properties are
> promoted into the message context in the XmlReceive pipeline.
> However - if you use a PassThru pipeline at both ends, and route messages
> using non-message-based filters, then you can put anything you like
> through - an image, word document, whatever.
> Hope this helps?
> "Tareq Mohamed" <TareqMohamed@discussions.microsoft.com> wrote in message
> > Great post Hugo,
> > but, I tried to post a xml documents that is not valid "Tag is opened and
> > never closed" biztalk consumed it, I want to track such messages, so how ?
> > "Hugo Rodger-Brown" wrote:
> > > Tareq - the subscription required for the message to be processed is
> > > when the port is enlisted. When the receive location picks up the
> > > it is delivered to the messagebox, where the message agent runs through
> > > subscription table to see if there are any services subscribing to the
> > > message. If not, it is marked as suspended (unresumable). If there is a
> > > subscriber, but it is stopped, then the messages is suspended
> > > Restart the send port, and the message should clear.
> > >
> > > If the send port was not enlisted, then there will have been no
> > > subscriber for the message when it arrived, so BizTalk cannot process
> it. It
> > > is actually quite logical to suspend these messages and terminate the
> > > pipeline, as the alternative would require BizTalk to save every single
> > > message it ever received, on the premise that someone might at some
> > > want to subscribe to it. It's a bit like TiVo - you can pause live tv,
> > > you can't go back to a show that was on last week if you didn't record
> > >
> > > I've posted some links to others' articles on subscriptions here:
> > > http://hugorodgerbrown.blogspot.com/2005/01/message-subscriptions.html
> > >
> > > Hugo
> > >
> > > "Tareq Mohamed" <TareqMohamed@discussions.microsoft.com> wrote in
> > > news:7F572E17-E745-4722-A523-F0863A4EE4D1@microsoft.com...
> > > > In Content Based routing,
> > > > If BizTalk Port recieves a message and the "subscriber" port has not
> > > > enabled yet, the message marked as susbended.
> > > > and the receive Pipleline marked as termiated, when I enable the
> > > > "Subscriber" port, why doesn't it subscribe to the messages. what can
> I do
> > > to
> > > > enable it to subcribe to the susbended messages.
> > > >
> > > > Second question, If I post a XML message which contains mistake for
> > > example
> > > > "open tag" which is not close, this was done by mistake, how can I
> > > such
> > > > messages and how to hanlde them.
> > >
> > >
> > >