BizTalk Server Orchestration - Retrieve Inbound Message?

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server Orchestration > November 2004 > Retrieve Inbound Message?





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Retrieve Inbound Message?
Ben Jiang

2004-11-08, 8:46 pm

Hi,
Can anyone show me how to retrieve (and then store in my local driver) for
any XML documents submitted to my Receive Port?
I work through HAT utility and none of them gives me the answer. It seems
that you can only save the tracked "Suspended" and "Resumable" messages from
HAT. How do I get those messages already successfully processed by
Orchestration (the state is completed)?

Your help will be highly appreciated.

Cheers
Ben Jiang
Hugo Rodger-Brown

2004-11-09, 2:48 am

The simplest way to do this would be to set up a send port subscription to
route a copy of every message from the receive port to a directory on your
local machine. I'm assuming this is during development / debugging, and not
something you want in production?

Add a new send port, and add a filter to the port, specifying the receive
port name for the filter property "BTS.ReceivePortName". This will catch
every message picked up by the receive port specified.

Hugo
http://hugo.rodger-brown.com


Ben Jiang

2004-11-10, 5:48 pm

Thanks Hugo for the suggestion.
From time to time, we need to examine the documents sent from our partners.
If necessary we will have to re-submit the same document in our system.
This will happen in our production environment.

I just wonder if MessageBox database has already stored a copy of the
original documents submitted into our receive port. If so, how to retrieve it?
It is pity that I can not work out the DB structure in MessagBox database.
Otherwise WMI may be a way to go.

I really need someone there to help me out this.

Cheers
Ben



"Hugo Rodger-Brown" wrote:

> The simplest way to do this would be to set up a send port subscription to
> route a copy of every message from the receive port to a directory on your
> local machine. I'm assuming this is during development / debugging, and not
> something you want in production?
>
> Add a new send port, and add a filter to the port, specifying the receive
> port name for the filter property "BTS.ReceivePortName". This will catch
> every message picked up by the receive port specified.
>
> Hugo
> http://hugo.rodger-brown.com
>
>
>

Hugo Rodger-Brown

2004-11-11, 2:46 am

Ben - have you tried using the Reporting queries in HAT, instead of the
Operations view? Using Reporting you can get access to messages that have
been processed. You'll have to ensure that the correct levels of tracking
are enabled, and be aware that turning on tracking on all messages does have
performance side-effects.

From the documentation:
"Reporting uses historical data that you may have been tracking for a long
time. Use Reporting to see trends such as how many failures a month there
are. You can troubleshoot by tracking the steps of a process or message. For
example, if an order routed incorrectly, you can follow the message through
to see where the request came in, where it went, and why."

I haven't done much with Reporting in HAT, so can't give any assurances I'm
afraid. There have been a couple of other posts on the same topic (which I
can't find now), so keep looking...


Hugo Rodger-Brown

2004-11-11, 2:46 am

I've just done a quick test, and this looks like it works. Open HAT, go to
the Configuration menu > Pipelines option. This will list all the available
services - select the relevant receive pipeline, and check the "Inbound
Message Bodies" option at the bottom of the form. Then put a message through
the system, go back to the Reporting > Find Message screen, and when you've
found the message right-click and choose the Save All Tracked Messages
option.

The tracking database may take some time to update, so if you may need to
wait a minute or two before you can save the messages.

(Obviously saving the body of every message going through a pipeline is
going to add a significant overhead to processing, so may not be appropriate
in a live environment).


Ben Jiang

2004-11-11, 5:49 pm

Thanks Hugo. I will to see.
Ben Jiang

"Hugo Rodger-Brown" wrote:

> I've just done a quick test, and this looks like it works. Open HAT, go to
> the Configuration menu > Pipelines option. This will list all the available
> services - select the relevant receive pipeline, and check the "Inbound
> Message Bodies" option at the bottom of the form. Then put a message through
> the system, go back to the Reporting > Find Message screen, and when you've
> found the message right-click and choose the Save All Tracked Messages
> option.
>
> The tracking database may take some time to update, so if you may need to
> wait a minute or two before you can save the messages.
>
> (Obviously saving the body of every message going through a pipeline is
> going to add a significant overhead to processing, so may not be appropriate
> in a live environment).
>
>
>

Jeff Lynch

2004-11-12, 7:48 am

You can also use a custom pipeline component to "archive" inbound messages.
See this post for the source code.

http://weblogs.asp.net/gzunino/arch.../12/181337.aspx

--
Jeff Lynch
"A BizTalk Enthusiast"
http://dotnetjunkies.com/WebLog/jlynch/


"Ben Jiang" <BenJiang@discussions.microsoft.com> wrote in message
news:4644C927-5302-4C17-B555-AE06A0FC658D@microsoft.com...[vbcol=seagreen]
> Thanks Hugo. I will to see.
> Ben Jiang
>
> "Hugo Rodger-Brown" wrote:
>


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com