none
Cannot locate document specification because multiple schemas matched the message type RRS feed

  • Question

  • Hello all,

    I am having application A - working fine.

    Now for some resion I have create (copy pasted) new application B with same code( schema, maps, orchestrations).

    Now when I am trying to test this appliciton it's giving me error message :

    Reason: Cannot locate document specification because multiple schemas matched the message type "

    This error is coming because two schema with same target namespace, root node and rest of details I know.

    what will be solution for this ?

    in some forums s I have seen :

    set DocumentSpecNames property to fully qualified name of schema in format <schema type>+<root name> ,<schema assembly full name>.

    from where I will get schema type ? from where I will get root name ? from where I will get the schema assembly full name ???Any help is welcome.


    Thanks and Regards, Nitin.

    Wednesday, December 17, 2014 10:35 AM

Answers

  • I am having application A - working fine.

    Now for some resion I have create (copy pasted) new application B with same code( schema, maps, orchestrations).

    Hold on everyone...you can't do this!

    You cannot deploy essentially two instances of the same app in a BizTalk Group, changing the Assembly names doesn't affect this.

    There is on way around this.  You have to either use a different BizTalk Group or rename everything, .Net Types, Schema namespaces, etc.
    • Proposed as answer by Mohan Raj Aryal Thursday, December 18, 2014 4:05 AM
    • Marked as answer by Angie Xu Thursday, December 25, 2014 1:42 AM
    Wednesday, December 17, 2014 4:10 PM
    Moderator
  • Nitin,

    “for some resion I have create (copy pasted) new application B with same code” – If you not intend to do this(copy & paste), remove the deployed copy-version of artifacts (schemas ,maps, orchestration)

    If you still want to keep the copy of the deployed artifacts, as said you can set the DocumentSpecNames property which is schema full name ('<schema type>, <schema assembly>'). To get this

    • Goto your BizTalk admin console, select your application, select the “Schema” folder
    • Select the schema for which you want to get the schema full name, right click on it and select properties.
    • From the schema properties windows, select value of “Name” file which will give you the <schema type>. And value of “Assembly” field which will give you the, <schema assembly>
    • Separate these values by a comma as <schema type>, <schema assembly>. This is the value which you have to use in “DocumentSpecNames” property.

    For example, in my case:


    Here the error “Received unexpected message type 'http://ProjectName.CRMCommonResponse#Response' does not match expected type 'http://ProjectNameSync.CRMCommonResponse#Response'  because as mentioned in the error the received messageType doesn’t match the specified messagetype. Try the above given solution to solve your problem.

     



    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

    • Marked as answer by Angie Xu Thursday, December 25, 2014 1:42 AM
    Wednesday, December 17, 2014 4:13 PM

All replies

  • Now for some resion I have create (copy pasted) new application B with same code( schema, maps, orchestrations).--> While doing this you have to change the root name and the namespace of the schema which you have copied from Application A then deploy it to BizTalk.

    In BizTalk all the messages are processed or identified on the unique combination of

    TargetNamespace#RootName

    So you have to make sure every schema which you are using or deploying has this combination unique.

    Check this article The BizTalk Server Message for more details on this.

    Also you can use this blog post to verify your schema after deployment

    Verifying Schemas after deployment

    I hope this helps.


    Greetings,HTH
    Naushad Alam

    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer
    alamnaushad.wordpress.com


    Wednesday, December 17, 2014 10:42 AM
    Moderator
  • if   I change the schema name will it help ??

    I have changes the root name and the namespace but got error message as :

    Received unexpected message type 'http://ProjectName.CRMCommonResponse#Response' does not match expected type 'http://ProjectNameSync.CRMCommonResponse#Response'

    Here earlier name space was ProjectName which I have changed as ProjectNameSync.

    What needs to do ?


    Thanks and Regards, Nitin.

    Wednesday, December 17, 2014 11:15 AM
  • The error which you are facing is because incoming message does not match the message type which you are expecting.

    The message which you are sending to BizTalk should have http://ProjectNameSync.CRMCommonResponse

    as namespace and

    Response as root name. Make sure the system which is generating the message writes this namespace.

     Hope this helps.

    Greetings,HTH
    Naushad Alam

    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer
    alamnaushad.wordpress.com

    Wednesday, December 17, 2014 2:36 PM
    Moderator
  • I am having application A - working fine.

    Now for some resion I have create (copy pasted) new application B with same code( schema, maps, orchestrations).

    Hold on everyone...you can't do this!

    You cannot deploy essentially two instances of the same app in a BizTalk Group, changing the Assembly names doesn't affect this.

    There is on way around this.  You have to either use a different BizTalk Group or rename everything, .Net Types, Schema namespaces, etc.
    • Proposed as answer by Mohan Raj Aryal Thursday, December 18, 2014 4:05 AM
    • Marked as answer by Angie Xu Thursday, December 25, 2014 1:42 AM
    Wednesday, December 17, 2014 4:10 PM
    Moderator
  • Nitin,

    “for some resion I have create (copy pasted) new application B with same code” – If you not intend to do this(copy & paste), remove the deployed copy-version of artifacts (schemas ,maps, orchestration)

    If you still want to keep the copy of the deployed artifacts, as said you can set the DocumentSpecNames property which is schema full name ('<schema type>, <schema assembly>'). To get this

    • Goto your BizTalk admin console, select your application, select the “Schema” folder
    • Select the schema for which you want to get the schema full name, right click on it and select properties.
    • From the schema properties windows, select value of “Name” file which will give you the <schema type>. And value of “Assembly” field which will give you the, <schema assembly>
    • Separate these values by a comma as <schema type>, <schema assembly>. This is the value which you have to use in “DocumentSpecNames” property.

    For example, in my case:


    Here the error “Received unexpected message type 'http://ProjectName.CRMCommonResponse#Response' does not match expected type 'http://ProjectNameSync.CRMCommonResponse#Response'  because as mentioned in the error the received messageType doesn’t match the specified messagetype. Try the above given solution to solve your problem.

     



    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

    • Marked as answer by Angie Xu Thursday, December 25, 2014 1:42 AM
    Wednesday, December 17, 2014 4:13 PM
  • Hi Nitin ,

    Simple solution ,There has been duplicate entry in  BT.DocumentSpec table  in BizTalk management DB  .You can fire a select Query such as

    select * from BT.DocumentSpec where msgtype like '%http://ProjectName.CRMCommonResponse#Response%'

    It will return you multiple record . delete the newly created record from BT.DocumentSpec table .

    If that wont help than better delete the application and deploy it again .  It will resolve your issue.

    Thanks

    Abhishek


    Wednesday, December 17, 2014 5:02 PM