locked
Trying to understand why BizTalk Can't find a message type RRS feed

  • Question

  • I have a project I have been working on for a bit and have come to an obstacle but I am not quite sure what the message BizTalk is providing means. The overall scope of the project is fairly simple. Another internal system will generate xml files with information that I will store in our business system. The other business system provided me with an xsd file and an xml file for development. I have been modifying the xsd as I discover needs. There is one other shema involved, generated from an Oracle procedure. Finally there is a map that ties them together. The procedure has three parameters into which I map the respective elements from the xml file.

    I have created a receive location of type File using the stock XML Receive pipeline. The parent receive port has the map added in the inbound maps collection with the schema in question on the inbound side of the map. When I drop the sample file in the folder I get the error:

    There was a failure executing the receive pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "XML disassembler" Receive Port: "S2KAES824In" URI: "C:\CFData\MsgFrom\SAP\PolishXchng\*.xml" Reason: Finding the document specification by message type "ExchangeRateInfo" failed. Verify the schema deployed properly.

    When I look at the BizTalk application's schemas the schema is there, with a unique target namespace and the Root Name is ExchangeRateInfo. Did I miss a configuration somewhere? There is no party information for this transaction. I would appreciate any insight!

    Thanks in advance

    Harold


    Harold Rosenkrans

    Friday, February 22, 2013 10:57 PM

Answers

  • It looks like your XML message doesn't include the target namespace... if it did, the error would be something like:

    Reason: Finding the document specification by message type "YourTargetNamespace#ExchangeRateInfo" failed.

    Try removing the "unique target namespace" from the schema, redeploy, restart your host instances and try the test again.


    David Downing... If this answers your question, please Mark as the Answer. If this post is helpful, please vote as helpful.


    • Proposed as answer by David K. Downing Saturday, February 23, 2013 3:13 AM
    • Edited by David K. Downing Saturday, February 23, 2013 3:17 AM
    • Marked as answer by Hal Rose Monday, February 25, 2013 9:48 PM
    Saturday, February 23, 2013 3:13 AM

All replies

  • Isn't it be like this ExchangeRateInfo#rootName ?

    Leonid Ganeline [BizTalk MVP] BizTalk: the Naming Conventions in Examples

    Friday, February 22, 2013 11:43 PM
    Moderator
  • It looks like your XML message doesn't include the target namespace... if it did, the error would be something like:

    Reason: Finding the document specification by message type "YourTargetNamespace#ExchangeRateInfo" failed.

    Try removing the "unique target namespace" from the schema, redeploy, restart your host instances and try the test again.


    David Downing... If this answers your question, please Mark as the Answer. If this post is helpful, please vote as helpful.


    • Proposed as answer by David K. Downing Saturday, February 23, 2013 3:13 AM
    • Edited by David K. Downing Saturday, February 23, 2013 3:17 AM
    • Marked as answer by Hal Rose Monday, February 25, 2013 9:48 PM
    Saturday, February 23, 2013 3:13 AM
  • Well, I appreciate the responses. I used the information to try and make it work but I am not achieving success. I have tried a bunch of variations: For the filter Bts.MessageType ==

    http://Microsoft.LobServices.OracleDB/2007/03/S2KDBA/Procedure#BZT_SAP_POLISH_XCHNG_PROCESS

    ExchangeRateInfo#http://cf.schemas.weyer.com/Custom/SAP/PMF

    http://cf.schemas.weyer.com/Custom/SAP/PMF#ExchangeRateInfo

    ExchangeRateInfo

    When I had the unique target namespace in the xsd just using ExchangeRateInfo would get an error something like Assembly failed to find message based on message type ExchangeRateInfo

    when I removed the unique target namespace from the xsd then setting the filter to ExhangeRateInfo got the error:

    The Messaging Engine failed while executing the inbound map for the message coming from source URL:"C:\CFData\MsgFrom\SAP\PolishXchng\*.xml" with the Message Type "ExchangeRateInfo". Details:"Root element is missing."

    most of the other permutations would elicit the error:

    Service instance was suspended because the corresponding service (orchestration, sendport, ...) was in the stopped state. Instance can be resumed after corresponding service is started.

    Which kind of suggests no subscriber found. (There are a couple of other subscribers to the receive port that are stopped)

    I thought comsuming XML would be fairly straight forward. It is just a text file with a format key. I need to go back and try and get the basics


    Harold Rosenkrans

    Monday, February 25, 2013 5:23 PM
  • Ok, I take the XML file, I use it as a test imput for the map. Works fine.

    In BizTalk when I drop the same [a copy thereof, actually] XML file into the folder I get the error.

    The Messaging Engine failed while executing the inbound map for the message coming from source URL:"C:\CFData\MsgFrom\SAP\PolishXchng\*.xml" with the Message Type "ExchangeRateInfo". Details:"Root element is missing."

    I love these error messages. Time to bing, google and othewise solicit garbled messages from the world wide what.


    Harold Rosenkrans

    Monday, February 25, 2013 8:01 PM