Hi BaldurKn, I want to thank for that I followed your soution and get my issue resolved. There are two small point I want to put here in case others have the same issue.
First, when you promote your field, make sure click the Distinguished Fields Tag in the Promote Proterties Window and add the field to there, otherwise you will not see it in the Message Assignment.
Second thing is, I don't know why I always got a error in Construct Shape saying my source message is not initialized, In your case it is the MsgSalesOrderRcvd, since I have assigned the value of MsgSalesOrderRcvd to that xmldocument, and it worked.
One lastthing is I didn't use transform shap because the second thing I mantioned. I jsut used a Message Assignment and did every thing in it. here is the code in my Message Assignment, in it the CloneM1 is your MsgXmlLogMessage , Message_1 is my in message, Message_2 is my out message :
Message_1=CloneM1;
varXmlDoc = new System.Xml.XmlDocument();
varXmlDoc.LoadXml(@"<ns0:PX_RayTesting xmlns:ns0=""schemas.microsoft.com/.../ns0:PX_RayTesting>");
Message_2 = varXmlDoc;
Message_2.XMLFile=CloneM1.OuterXml ;