Hi,
I have a problem when working with AX 2009 + BizTalk 2009. When using synchronous calls, everything works fine until there's an error. For example, when I'm using the SalesSalesOrderService.read to get data about a sales order and the sales order doesn't exist, AIF (correctly) return a fault message which contains details about the error. When doing this asynchronously, I can set the receive port adapter to "Pass through", which means that I get the complete envelope and I can check what's in it (either a Fault message or a SalesOrder message). However, when doing this synchronously, no such option is there and when AIF returns a fault message, the adapter throws an error, which I'm not able to catch in the orchestration.
Note that I actually want this error and the message, so the problem is not that I'm getting an error, the problem is that I'm unable to pass it on to the orchestration to process (because the error is thrown in the adapter itself).
Here's what I'm getting in the event log:
The adapter failed to transmit message going to send port "Test_AX_sync" with URL "...". It will be retransmitted after the retry interval specified for this Send Port. Details:"An unexpected failure occurred while processing a message. The following error has occurred: <Fault xmlns="http://schemas.microsoft.com/dynamics/2008/01/documents/Fault"> <Code>NoValidDocumentIdentified</Code> <Reason> <Text xml:lang="EN-US">No valid document identified from the entity key.</Text> </Reason> </Fault>".
*This post is locked for comments