Re: Suspended messages?

From: Tareq Mohamed (TareqMohamed_at_discussions.microsoft.com)
Date: 02/01/05


Date: Tue, 1 Feb 2022 03:19:44 -0800

Great post Hugo,
Thank you...
Anther Question,
In real world senarios, what do u do with those messages, malformed xml
documents, etc.

"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
> news:4314E81A-134B-4851-8FA6-CAC6AE034AE3@microsoft.com...
> > 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
> created
> > > when the port is enlisted. When the receive location picks up the
> message,
> > > it is delivered to the messagebox, where the message agent runs through
> the
> > > 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
> (resumable.)
> > > Restart the send port, and the message should clear.
> > >
> > > If the send port was not enlisted, then there will have been no
> available
> > > 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
> point
> > > want to subscribe to it. It's a bit like TiVo - you can pause live tv,
> but
> > > you can't go back to a show that was on last week if you didn't record
> it!
> > >
> > > 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
> message
> > > news:7F572E17-E745-4722-A523-F0863A4EE4D1@microsoft.com...
> > > > In Content Based routing,
> > > > If BizTalk Port recieves a message and the "subscriber" port has not
> been
> > > > 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
> track
> > > such
> > > > messages and how to hanlde them.
> > >
> > >
> > >
>
>
>



Relevant Pages

  • Re: Flat File to XML with envelope
    ... the envelope can be in the send pipeline and then this pipeline can be ... the map can and should happen on the receive ... port to get it to the format you want. ... > files or xml. ...
    (microsoft.public.biztalk.general)
  • Re: MSMQ,Biztalk and Webservice Call
    ... Well,I also have a send port which outputs the xml file but when i ... Are you using a specific receive pipeline? ...
    (microsoft.public.biztalk.general)
  • Re: custom XML receive pipeline sample needed
    ... It's a receive pipeline. ... the data stream is in good XML format and I can create message out it. ... to use a single receive port to take care of all of those. ... do the job to create the XML with internal schema type. ...
    (microsoft.public.biztalk.general)
  • Re: BTS 2004 Receive Pipeline & Xml Validator question
    ... Receive Port I have a custom receive pipeline that has an Xml Validator with ... The Send Port uses the Default PassThruPipeline - do I ... > Disassembler or Validator. ...
    (microsoft.public.biztalk.server)
  • Re: Different schemas into one POP3 port
    ... Thanks Greg, everyone; ... Disassembler passing the schema definition that matches that email address. ... Your disassemble stage would also have a Xml Disassembler, ... If you have more than one map on the receive port, ...
    (microsoft.public.biztalk.general)