Wednesday, February 24, 2010

The adapter Microsoft Dynamics AX 2009 raised an error message: "The message does not contain a body part."

I experienced this error when trying to update a data synchronously with AIF. This same error also happens with delete service.

For now, Rasmus Jaeger said that the workaround is:
A simple check, in the AIF update and delete services in AX, which checks if the message part is empty. If the message part is empty, AX returns a predefined static xml document to BizTalk. 
So, we are waiting for the hot fix ............

Note to Self: Invoking Static Members of a Class in BRE

To invoke static members of a class, StaticSupport must be added in the registry:
  • For 32 bit, the location is in:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BusinessRules\3.0\StaticSupport
  • For 64 bit, the location is in:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\BusinessRules\3.0\StaticSupport

Monday, February 15, 2010

The Messaging Engine encountered an error during the processing of one or more inbound messages


I experienced this error when a receive port disassembles a flat file in 2 cases: 
  • A 1 MB flat file contains more than 10000 rows
    The work around that I did is by throttling the Threads per CPU to 100.
  • A 30 MB flat file contains more than 300000 rows
    I noticed that the Memory used by the receive host has grown up more than 3 GB. The receive host is a 32-bit only host. Thus, it recycles the host. So, by using 64-bit host and also throttling the Threads per CPU, the flat file was processed successfully. The 64-bit receive host consumed more than 6 GB of memory.

Saturday, November 21, 2009

Note to Self: Add to The Global Assembly Cache on MSI Imports

Lately, I've been busy with deployment and re-deployment of BizTalk solutions for testing purposes. In the deployment step, I just want to import the MSI and done. But, to do that, I also need to make sure that when I import the MSI, all the assemblies is also added to the GAC. So, I have to modify each of the resources and check the "Add to the global assembly cache on MSI imports (gacutil)" option. Well, it's quite annoying things to do if you need to do this for all the resources.

Thanks to Dmitriy, I just need to run this query in the adpl_sat table of BizTalkMgmtDb database:
update dbo.adpl_sat set properties = replace(cast(properties as nvarchar(4000)),
'UpdateGacOnImport</key><value>
False', 'UpdateGacOnImport</key><value>True') where applicationId = <app_id>

Monday, November 16, 2009

SSO Configuration Application MMC Snap-In

I just knew that Microsoft has released MMC Snap-In to use SSO to store configuration data.

Saravana has posted an example about this in his blog.

Check it out!

Saturday, November 14, 2009

Which credential used by send port to communicate with Dynamics ?

I configured my BizTalk application to run on three different host instances: receive, process, and send. I thought the credential used when BizTalk communicates with Dynamics is the Send Handler Host Instance credential. But I got the following error:



The send handler host instance credential was the valid Dynamics user but the process host instance was not. When I switched the credential or changed the credential of process host instance into the valid Dynamics credential, it works fine.

So, is this the way it should work?

Monday, November 2, 2009

BizTalk Expression Editor MAXIMIZER

Randal has just posted a nice tool to maximize Expression Editor.

Check it out !