I'm trying to demote a message context property into the message by following: http://geekswithblogs.net/sthomas/archive/2004/10/07/12285.aspx
I have a two-way receive port and two-way WCF-SQL send port. Both location's pipelines are set to XML on send and receive. My send port applies an outbound map from the external message to internal SQL. The receive port applies an outbound map from the SQL-response to an external response. I would like to include some message context properties on the transmit side of the receive port.
My response schema to caller with demotion applied:
<?xml version="1.0" encoding="utf-16"?> <xsd:schema xmlns="http://iConnect/maclean-fogg.com/response/edi" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:ns0="http://schemas.microsoft.com/BizTalk/2003/system-properties" targetNamespace="http://x/response/edi" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation> <xsd:appinfo> <b:imports> <b:namespace prefix="ns0" uri="http://schemas.microsoft.com/BizTalk/2003/system-properties" location="BTS.bts_system_properties" /> </b:imports> </xsd:appinfo> </xsd:annotation> <xsd:element name="Response"> <xsd:annotation> <xsd:appinfo> <b:properties> <b:property name="ns0:MessageID" xpath="/*[local-name()='Response' and namespace-uri()='http://x/response/edi']/*[local-name()='MessageId' and namespace-uri()='']" /> </b:properties> </xsd:appinfo> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="MessageId" type="xsd:string" /> <xsd:element name="Detail" type="xsd:string" /> <xsd:element name="FailureId" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>
Demotion: