Message context is a critical part of message routing and processing inside BizTalk Server 2004. How this context is handled during mapping is different depending on the location of the mapping. The context is copied differently using Receive Port mapping verses Orchestration mapping.Why should you care? If you are using Direct Message Box Binding to route message out of an Orchestration you might not have the correct context propertied to route your message. This only impacts messages that needed to be routed out of an Orchestration based on a value in the original pre-mapped message. Let’s look at the two types of mappings and what happens to the context.Receive Port MappingThis is a common type mapping since it generally allows for greater flexibility. Receive port mapping occurs after the pipeline completes. This means that context properties will already be promoted by various stages of the pipeline. In this case, the new mapped message has all the original context values of the initial message with any duplicate values updated (i.e. like message type is now the type of the mapped message). In addition, any prompted values in the mapped message are now promoted into the context.To sum it up, Receive Port mapping yields a superset of message context data from both the original message and the new mapped message.Orchestration MappingOrchestration mapping behaves in a totally different manner. Using Orchestration mapping, the context of the original message is NOT copied automatically into the newly created message. But, any promoted fields in the new message are promoted into the message context after mapping. Getting the original message context into the new message is easy. Just add a Message Assignment shape after the transform but inside the same Construct. Add the following code: MessageOut(*) = MessageIn(*)This would look something like this:This will copy the entire context from the original message into the new message and result in a superset just like the Receive Port mapping. Individual message context fields can also be copied using this same method.To sum it up, Orchestration Mapping does not copy original message context by default.Overall, it is import to know what values are inside your message context as your message flows through your workflow process. This will ensure correct message routing and help resolve routing failures quickly.