Мне очень жаль говорить об этом, но когда сопоставление становится слишком сложным, и в маппере нет очевидного способа сделать это, я просто прибегаю к вспомогательному методу .net внутри сообщения назначения, которое будет создавать выходное сообщение.
Вспомогательный метод может принимать сообщение biztalk в качестве аргумента типа XLANGMessage и возвращать тип XMLDocument, который будет преобразован в целевой тип сообщения, при условии, что XML внутри отображает тип правильно.
Например:
public static XmlDocument HelperMethod (XLANGMessage message)
{
var sourceType = (SourceType)message[0].RetrieveAs(typeof(SourceType));
var targetType = new TargetType();
// ... Do target type population and serialization to XmlDocument here
return targetAsXmlDoc;
}
Было бы тривиально сделать это внутри .net, поэтому просто перенесите его в .net и сделайте это.Извините всех картографических гуру там!