BizTalk Server General - Biztalk MessageArchive object

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server General > January 2005 > Biztalk MessageArchive object





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 Biztalk MessageArchive object
esgraham

2004-09-27, 5:52 pm

Has anyone used the MessageArchive object mentioned in
the KB article:
http://support.microsoft.com/default.aspx?scid=kb;en-
us;838454

I've installed the hotfix, but cannot figure out the
namespace or dll that contains the object.

Thanks.
Gilles [MSFT]

2004-09-27, 8:46 pm

Hello,

>Has anyone used the MessageArchive object mentioned in
>the KB article:
>http://support.microsoft.com/default.aspx?scid=kb;en-
>us;838454
>
>I've installed the hotfix, but cannot figure out the
>namespace or dll that contains the object.


The namespace is Microsoft.BizTalk.MessageBoxOM
The assembly you want to add a reference to is: Microsoft.BizTalk.MessageBoxOM.dll

Thanks,
-Gilles.

esgraham

2004-09-28, 5:52 pm

The Microsoft.Biztalk.MessageBoxOM.dll is missing from my
server. I am running Biztalk 2004 Developer's Edition.
I also posted another message in relation to this problem.

>-----Original Message-----
>Hello,
>
>
>The namespace is Microsoft.BizTalk.MessageBoxOM
>The assembly you want to add a reference to is:

Microsoft.BizTalk.MessageBoxOM.dll
>
>Thanks,
>-Gilles.
>
>.
>

Gilles [MSFT]

2004-09-28, 5:52 pm

Hello,

>The Microsoft.Biztalk.MessageBoxOM.dll is missing from my
>server. I am running Biztalk 2004 Developer's Edition.
>I also posted another message in relation to this problem.


I think the DLL is not missing but hidden where you do not expect it to be.
It is installed in the GAC so open an explorer window into %systemroot%\assembly and you should see it.
From within a visual studio .NEt command, do a gacutil /l | findstr /i messageboxom and you should see it.

Currently, VS.NET does not allow you to add references to assemblies in the GAC. You have to extract it
first, add a reference to a copy of the dll, outside of the GAC. At the time you add the reference, VS.NET
will in fact add a reference to the GACed dll.

To extract it, use a dos prompt to cd into %systemroot%\assembly\GAC\messageboxom
There will be a folder named like 3.0.1.0__<some random number here>. Cd into it and do a dir.
You will find Microsoft.BizTalk.MessageBoxOM.dll. Use copy to copy it to C:\ for instance.

Thanks,
-GIlles.

magenic_andym

2005-01-25, 8:47 pm

I am attempting to use the MessageArchive class to enumerate over all
messages in the MessageBox db (within a large date span) but I never
get any messages from the MessageArchive.Messages property. I don't
get any errors, there just aren't any messages in the enumeration.
There are suspended resumable and suspended not resumable service
instances in HAT.

Here is the code I'm using:

------------------------------------

MessageArchive archive = new MessageArchive();

archive.BatchSize = 0;
archive.CommandTimeout = 0; //Infinite
archive.MaxMatches = 0;
archive.From = new DateTime(2004, 1, 1);
archive.Until = new DateTime(2005, 12, 31);

archive.ConnectionString = "Persist Security Info=False;Integrated
Security=SSPI;database=BizTalkMsgBoxDb;s
erver=localhost";

try
{
foreach(Object oMsg in archive.Messages)
{
IBaseMessage msg = (IBaseMessage)oMsg;
IBaseMessageContext cntxt = msg.Context;
}
}
catch(Exception e)
{
Console.WriteLine(e);
}
finally
{
archive.Dispose();
}

----------------------------

-Am I attempting to use this class in a manner that it is not intended?
-Should this code find messages related to suspended service instances?
-Is there anything wrong with the code?

TIA,

Andy

esgraham

2005-01-26, 5:54 pm

There is a problem with the MessageArchive object not returning any messages,
and the problem is an error in one of the stored procs that is installed
with the hotfix. I thought I had saved the information to my blog, but I
went and looked and the actual code is not there. I have also switched
companies since I started this thread so I cannot find the changes I made.
The only thing I wrote about the issue was: The Tracking_Spool information
in the SQL stored proc is not referencing the correct table.

Its too bad that I did not save any more information.


"magenic_andym" wrote:

> I am attempting to use the MessageArchive class to enumerate over all
> messages in the MessageBox db (within a large date span) but I never
> get any messages from the MessageArchive.Messages property. I don't
> get any errors, there just aren't any messages in the enumeration.
> There are suspended resumable and suspended not resumable service
> instances in HAT.
>
> Here is the code I'm using:
>
> ------------------------------------
>
> MessageArchive archive = new MessageArchive();
>
> archive.BatchSize = 0;
> archive.CommandTimeout = 0; //Infinite
> archive.MaxMatches = 0;
> archive.From = new DateTime(2004, 1, 1);
> archive.Until = new DateTime(2005, 12, 31);
>
> archive.ConnectionString = "Persist Security Info=False;Integrated
> Security=SSPI;database=BizTalkMsgBoxDb;s
erver=localhost";
>
> try
> {
> foreach(Object oMsg in archive.Messages)
> {
> IBaseMessage msg = (IBaseMessage)oMsg;
> IBaseMessageContext cntxt = msg.Context;
> }
> }
> catch(Exception e)
> {
> Console.WriteLine(e);
> }
> finally
> {
> archive.Dispose();
> }
>
> ----------------------------
>
> -Am I attempting to use this class in a manner that it is not intended?
> -Should this code find messages related to suspended service instances?
> -Is there anything wrong with the code?
>
> TIA,
>
> Andy
>
>

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com