\"allow unrecognized message\"

Home Page Forums BizTalk 2004 – BizTalk 2010 \"allow unrecognized message\"

Viewing 1 reply thread
  • Author
    Posts
    • #14746

      When you say \”generic\” do you mean without namespaces?

      If this is the case then you can create a schema with no namespaces.
      In the schema definition, select the <schema> node and delete the Target Namespace property value

    • #14747

      Can you email me your schema and sample document.

      • #14748

        To use an envelope and debatch the message in the pipeline you need 2 message types(this can be in one or two schemas). The easiest is probably two schemas.
        You can define you envelope in one schema:
        <Schema targetnamespace=\”http://pr_test_2.sch_test_2_env\”>
        UtilityData
        Any

        Set the Envelope=Yes and the BodyXpath to the UtilityData node.

        You define your document in another schema:
        <Schema targetnamespace=\”\”>
        Utility
        Utility_Name
        Utility_ID
        etc

        The standard XMLReceive pipeline will recognise the envelope schema and then try to create separate messages for each child node of UtilityData. It needs a to match this child message to a schema, hence the second document schema.

        The biggest issue here is no namespace on the document schema, although this will work you will face issues moving forward, such as schema versioning etc.
        Do you have any influence on the format of the incoming message. If so I would suggest using a namespace
        e.g.
        <ns0:UtilityData xmlns:ns0=\”http://pr_test_2.sch_test_2_env\”>
        <ns1:Utilityxmlns:ns1=\”http://pr_test_2.sch_test_2_doc\”>
        <Utility_Name> Datamatic Test </Utility_Name>
        <Utility_ID> ID_TEST </Utility_ID>
        etc

        • #14749

          The only thing i noticed in your explanation that would cause your problem is the missing namespace prefix on the Record node
          It should be:

          <ns1:Record xmlns:ns1=\”http://pr_test_2_schemas.sch_test_2_body\”>

          Is it possible to email me your schemas and a sample data file

          • #14750

            My application is to accept an xml file and put all the records into a SQL Server database.

            For now I am using a tutorial I found to accept an xml file, parse out each record and drop the records to individual file and deposited to a local directory.

            I am expecting the xml file from a customer so getting namespaces hard coded will be difficult at best.

            I have come across the property \”allow unrecognized message\” in the XML Dissambler in the custom pipeline. This is not working for me – at the last the way I am using it.

            I will/do have an .xsd file and I have created my BTS schema from it.

            If I am asking the correct question:
            1) How do I accept a ‘generic’ xml file?

            Thanks,
            Phil

            • #14751

              Yes. Thanks. I noticed this in a sample I had downloaded, though I am still receiving \”Reason: No Disassemble stage components can recognize the data.\” Is there some other reference that I need to delete?

              I am trying to use an \”envelope\”.

              FYI –
              Really I am just trying to receive an xml message with many records (after some header information) and break them out into separate xml files. I see two method – one without a custom pipeline (though using promoted properities, and one using a custom pipeline. The one NOT using the custom pipeline makes use of a data/source xml file that is NAMESPACE-less. Any thoughts are appreciated.

              Thx,
              Phil

              • #14752

                Hey Greg,

                I may start another post, but just fyi, in case you can direct me, I’ll sum up here. I’ve tried bits and pieces of solutions. I THINK I am trying to something very basic to BTS, which is process an XML file. Ultimately I want to pull header and record info from an XML file and push to a SQL Server database.

                I don’t have to process each record individually, though I can see were I might want to eventually for better quality control.

                For now, I am just trying to take an XML File, break into individual records and push to new xml files – an individual file for each record. Just to get started. From what I’ve been reading I need to use an envelope schema and a body schema.

                Here is a sample of the incoming xml file:
                (Am I missing a namespace designator for the \”body\”??)

                <?xml version=\”1.0\” encoding=\”UTF-8\”?>
                <ns0:UtilityData xmlns:ns0=\”http://pr_test_2.sch_test_2_env\”>
                <Utility>
                <Utility_Name> Datamatic Test </Utility_Name>
                <Utility_ID> ID_TEST </Utility_ID>
                </Utility>
                <Software>
                <MVP_Version> 3.7 </MVP_Version>
                <ROADRUNNER_Version> 032401 </ROADRUNNER_Version>
                <AMR_Version> 020901 </AMR_Version>
                </Software>
                <Data>
                <Record>
                <CustomerData>
                <Name> </Name>
                <Address> </Address>
                <AccountNumber> Account Number Field </AccountNumber>
                <AccountStatusCode> </AccountStatusCode>
                </CustomerData>
                <RouteData>
                <Cycle> 01 </Cycle>
                <Route> 100 </Route>
                </RouteData>
                <MeterData>
                <MeterNumber> 211 </MeterNumber>
                <HostSequenceNumber> 000005 </HostSequenceNumber>
                <ReadTypeCode> FF </ReadTypeCode>
                <Constant> </Constant>
                <NumberOfDials> </NumberOfDials>
                <NumberOfDecimals> </NumberOfDecimals>
                <HighAuditValue> </HighAuditValue>
                <LowAuditValue> </LowAuditValue>
                <LocationCode> </LocationCode>
                <LocationDescription> </LocationDescription>
                <InstructionCode1> </InstructionCode1>
                <InstructionCode2> </InstructionCode2>
                <SurveyFlag> </SurveyFlag>
                <NumberOfPreviousEstimates> </NumberOfPreviousEstimates>
                <PreviousReading> </PreviousReading>
                <PreviousReadDate> </PreviousReadDate>
                <OldSealID> </OldSealID>
                <SpecialMessage> </SpecialMessage>
                <ReadMethod> </ReadMethod>
                <ScheduledReadDate> </ScheduledReadDate>
                </MeterData>
                <ReadingData>
                <ReaderID> OPER </ReaderID>
                <MeterReading> 0000000748 </MeterReading>
                <SkipCode> </SkipCode>
                <ReadDate> 20051221 </ReadDate>
                <ReadTime> 104509 </ReadTime>
                <TroubleCode1> AMER </TroubleCode1>
                <TroubleCode1Descr> </TroubleCode1Descr>
                <TroubleCode2> TMPR </TroubleCode2>
                <TroubleCode2Descr> </TroubleCode2Descr>
                <TroubleCode3> SUWN </TroubleCode3>
                <TroubleCode3Descr> </TroubleCode3Descr>
                <TroubleCode4> BACL </TroubleCode4>
                <TroubleCode4Descr> </TroubleCode4Descr>
                <FailedAuditCode> 0 </FailedAuditCode>
                <SurveyResponse1> </SurveyResponse1>
                <SurveyResponse2> </SurveyResponse2>
                <NewSequenceNumber> 000000 </NewSequenceNumber>
                <NewLocationCode> </NewLocationCode>
                <NewInstructionCode1> </NewInstructionCode1>
                <NewInstructionCode2> </NewInstructionCode2>
                <NewSealID> </NewSealID>
                <ElapsedTime> 00000000 </ElapsedTime>
                <NewSpecialMessage> </NewSpecialMessage>
                </ReadingData>
                <FIREFLY>
                <F4_Record> F420060503152500211 0000005320002061100000000000640C812C1901F4258 </F4_Record>
                </FIREFLY>
                </Record>
                </Data>
                </UtilityData>

                There error msg I have been getting consistently over the last couple days has been:
                Error details: The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.

                I need the Quick Start guide!

                Thanks,
                Phil

                • #14753

                  Greg,

                  Thanks for your help. This will be detailed (though hopefuly not long winded.)

                  I think I have been trying this method. I’ll try to outline all the little details I had to sweat along the way with little results.

                  1) the data – in summary

                  <?xml version=\”1.0\” encoding=\”UTF-8\”?>
                  <ns0:UtilityData xmlns:ns0=\”http://pr_test_2_schemas.sch_test_2_env\”>
                  <Utility>
                  <Utility_Name> Datamatic Test </Utility_Name>
                  <Utility_ID> ID_TEST </Utility_ID>
                  </Utility>
                  <Software>
                  <MVP_Version> 3.7 </MVP_Version>
                  <ROADRUNNER_Version> 032401 </ROADRUNNER_Version>
                  <AMR_Version> 020901 </AMR_Version>
                  </Software>
                  <Data>
                  <Record xmlns:ns1=\”http://pr_test_2_schemas.sch_test_2_body\”>
                  <CustomerData>
                  <Name> Customer 1 </Name>

                  </CustomerData>

                  </Record>
                  .
                  .
                  .
                  <Record xmlns:ns1=\”http://pr_test_2_schemas.sch_test_2_body\”>
                  <CustomerData>
                  <Name> Customer 23 </Name>

                  </CustomerData>

                  </Record>
                  .
                  .
                  .

                  </Data>
                  </ns0:UtilityData>

                  Tag Summary:
                  – UtilityData: root node
                  – Utility, Software – header info (applicable to all records)
                  – Data – individual records

                  2) My Envelope Schema looks something like

                  – UtilityData
                  – Utility
                  Utility_Name
                  Utility_ID
                  – Software
                  MVP_Version

                  – Data
                  ns0:Record (imported….)
                  (though I have tried with <any>

                  3) My Body schema looks like:
                  – Record
                  – Customer Data
                  …. field elements
                  – RouteData
                  ….. field elements
                  – MeterData
                  … field elements
                  – ReadingData
                  … field elements
                  – FIREFLY
                  … field elements

                  NOTE: I have put in names spaces in the data XML file:
                  NOTE: I put the schemas in a separate project; I had read to do that somewhere.

                  IN the ORCHESTRATION
                  4) The receive pipeline’s request operation has the \”Message Type\” property set to:
                  pr_test_2_schemas.sch_test_2_body (is this correct? pointing to the body schema.)
                  – the receive pipeline configured for custome
                  pipeline: pr_test_2.pl_test_2a
                  transport: file
                  URI: C:\\bts_sl_test_2\\IN\\*.xml

                  5) the Receive Message object/element has the \”Message\” property set to: msg_2_body

                  5a) msg_2_body: property \”Message Type\” = pr_test_2_schemas.sch_test_2_body

                  5b) Send message object/element configured the same

                  6) Send Port:
                  pipeline: Microsoft.BizTalk.DefaultPipelines.XMLTransmit
                  transport: file
                  URI: C:\\bts_sl_test_2\\OUT\\%MessageID%.xml

                  7) custom pipeline: pr_test_2.pl_test_2a
                  – in Disassemble stage: XMLDisassembler
                  – allow unrecognized message: false
                  – Document Schemas: pr_test_2_schemas.sch_test_2_body, pr_test_2_schemas, Version=1.0.0.0, Culture=Neutral, PublicKey Token = …..
                  – Envelope Schemas: pr_test_2_schemas.sch_test_2_env, pr_test_2_schemas, Version=1.0.0.0, Culture=Neutral, PublicKey Token = …..

                  8) Current Error Message from Event Viewer:
                  Event Type: Error
                  Event Source: BizTalk Server 2006
                  Event Category: BizTalk Server 2006
                  Event ID: 5753
                  Date: 5/31/2006
                  Time: 9:53:17 AM
                  User: N/A
                  Computer: FFICBMDEVNEW
                  Description:
                  A message received by adapter \”FILE\” on receive location \”pr_test_2_1.0.0.0_pr_test_2.orch_test_2_port_rec_test_2_9ee3ac47ef27d2e6_ReceiveLocation\” with URI \”C:\\bts_sl_test_2\\IN\\*.xml\” is suspended.
                  Error details: There was a failure executing the receive pipeline: \”pr_test_2.pl_test_2a, pr_test_2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9ee3ac47ef27d2e6\” Source: \”XML disassembler\” Receive Port: \”pr_test_2_1.0.0.0_pr_test_2.orch_test_2_port_rec_test_2_9ee3ac47ef27d2e6\” URI: \”C:\\bts_sl_test_2\\IN\\*.xml\” Reason: No Disassemble stage components can recognize the data.
                  MessageId: {33813B7C-8A7E-4553-B7DF-EF5A1BEFD9DA}
                  InstanceID: {140AE0EE-F35A-46C9-A167-6D165007A196}

                  For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

                  (I have check for UTF-8 BOM usage with my editor and this is toggled ON.)

                  Thanks again,
                  Phil

                  • #14754

                    8 Current Error Message from Event Viewer:
                    Event Type: Error
                    Event Source: BizTalk Server 2006
                    Event Category: BizTalk Server 2006
                    Event ID: 5753
                    Date: 5/31/2006
                    Time: 9:53:17 AM
                    User: N/A
                    Computer: FFICBMDEVNEW
                    Description:
                    A message received by adapter \”FILE\” on receive location \”pr_test_2_1.0.0.0_pr_test_2.orch_test_2_port_rec_test_2_9ee3ac47ef27d2e6_ReceiveLocation\” with URI \”C:\\bts_sl_test_2\\IN\\*.xml\” is suspended.
                    Error details: There was a failure executing the receive pipeline: \”pr_test_2.pl_test_2a, pr_test_2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9ee3ac47ef27d2e6\” Source: \”XML disassembler\” Receive Port: \”pr_test_2_1.0.0.0_pr_test_2.orch_test_2_port_rec_test_2_9ee3ac47ef27d2e6\” URI: \”C:\\bts_sl_test_2\\IN\\*.xml\” Reason: No Disassemble stage components can recognize the data.
                    MessageId: {33813B7C-8A7E-4553-B7DF-EF5A1BEFD9DA}
                    InstanceID: {140AE0EE-F35A-46C9-A167-6D165007A196}

                    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

                    I have check for UTF-8 BOM usage with my editor and this is toggled ON.

                    Thanks,
                    Phil

Viewing 1 reply thread
  • The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.