none
Outbound X12 Property Promotion for Party Resolution RRS feed

  • Question

  • I trying to promote party properties for outbound EDI party resolution.  In the receive pipeline I have a flat file disassembler and custom component at the ResolveParty stage.  This component attempts to promote values from my property schema into DestinationPartyReceiverQualifier, DestinationPartyReceiverIdentifier, DestinationPartySenderQualifier, DestinationPartySenderIdentifier.  However, the message suspends and the values are not getting promoted.  The error message I'm getting is:

    There was a failure executing the receive pipeline: "ICS_Outbound_849_4010_HDMA.rcvOutboundChargeback, ICS.EDI.849.Outbound.4010.HDMA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0d2895d0bbce8d72" Source: "Promote Party Properties" Receive Port: "rcvOutbound849" URI: "C:\EDI\OUTBOUND\849\In\EDI849*.HANDOFF" Reason: Object reference not set to an instance of an object.

    The code that appears to be causing the error is:

    public

    Microsoft.BizTalk.Message.Interop.IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)

    {

    inmsg.Context.Promote(

    "DestinationPartyReceiverQualifier", "http://schemas.microsoft.com/Edi/PropertySchema",

    inmsg.Context.Read(

    "ReceiverID", "http://ICS.EDI.849.Outbound.4010.HDMA.ChargebackPropSchema").ToString().Substring(0, 2));

    inmsg.Context.Promote(

    "DestinationPartyReceiverIdentifier", "http://schemas.microsoft.com/Edi/PropertySchema",

    inmsg.Context.Read(

    "ReceiverID", "http://ICS.EDI.849.Outbound.4010.HDMA.ChargebackPropSchema").ToString().Substring(3));

    inmsg.Context.Promote(

    "DestinationPartySenderQualifier", "http://schemas.microsoft.com/Edi/PropertySchema",

    inmsg.Context.Read(

    "SenderID", "http://ICS.EDI.849.Outbound.4010.HDMA.ChargebackPropSchema").ToString().Substring(0, 2));

    inmsg.Context.Promote(

    "DestinationPartySenderIdentifier", "http://schemas.microsoft.com/Edi/PropertySchema",

    inmsg.Context.Read(

    "SenderID", "http://ICS.EDI.849.Outbound.4010.HDMA.ChargebackPropSchema").ToString().Substring(3));

    inmsg.Context.Promote(

    "DestinationParty", "http://schemas.microsoft.com/Edi/PropertySchema",

    inmsg.Context.Read(

    "ReceiverID", "http://ICS.EDI.849.Outbound.4010.HDMA.ChargebackPropSchema").ToString().Substring(3));

    inmsg.Context.Promote(

    "SourceParty", "http://schemas.microsoft.com/Edi/PropertySchema",

    inmsg.Context.Read(

    "SenderID", "http://ICS.EDI.849.Outbound.4010.HDMA.ChargebackPropSchema").ToString().Substring(3));

     

    return inmsg;

     

    The values in my property schema should be promoted in the Flat File Disassembler, so I don't understand why they are missing at the ResolveParty stage.  Can anyone help with this?

    Much thanks.

    Monday, May 9, 2011 5:19 PM

Answers

  • "Object reference not set" errors for context property manipulation sometimes happen when the namespace's schema cannot be found. Are you sure the BizTalk app this code is running under can find the EDI property schema?

    I would also make sure the custom property schema is in the same BizTalk application (or a referenced one) where the custom pipeline component is running.

    Thanks,


    If this answers your question, please use the "Answer" button to say so | Ben Cline
    Monday, May 16, 2011 4:46 PM
    Moderator