Hi,
Whenever you create an schema using "Add Generated Metadata" and then you use promotion for the required elements sometimes you may receive this error. Baiscally, it means that the XML in the message doesn't contain the entire path to the element that the distinguished field points to. Thus you need to clearly verify that when you initialize the multipart message, make sure that field names are same. Since they are case sensitive so you need to take care that case is same as you have in the generated schema.
I receive the same because of the case problem.
Incorrcet Expression:
// Intialize the SQL Request message
sXMLDoc = "<ns0:SQLRequestRoot xmlns:ns0='http://AS.MS_BTS.EDI_X12.Process.Inbound.CarrierInvoice.SQLAdapter'>"
+ "<ns0:SPMS_BTS_EDI_CARRIERINVOICE_PROCESS InputXML='' TestOnly='0' />"
+ "</ns0:SQLRequestRoot>";
xmlTempDoc.LoadXml(sXMLDoc);
Msg_SQLRequest.parameters = xmlTempDoc;
// Set the InputXML param to the OuterXML of our ShipmentStatus message
xmlTempDoc = (System.Xml.XmlDocument) Msg_CarrierInvoice;
sXMLDoc = xmlTempDoc.OuterXml;
sXMLDoc = AS.MS_BTS.Common.Framework.XMLHelper.Utility.RemoveNamespace(sXMLDoc, "ns0", "http://AS.MS_BTS.EDI_X12.Schema.Inbound.CarrierInvoice.Schema.XML_Inbound_CarrierInvoice");
Msg_SQLRequest.parameters.SPMS_BTS_EDI_CARRIERINVOICE_PROCESS.inputXML = sXMLDoc;
If you see the correct case is "inputXML" while at the time of message initialization I used "InputMessage" and I started getting these messages.
So please do take care and always use the correct case.
Regards
Vishnu