|
Home > Archive > BizTalk Server General > June 2006 > Event 5719: multiple schemas matched the message type "XYZ"
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Event 5719: multiple schemas matched the message type "XYZ"
|
|
|
| Hello, I have been working on two BizTalk 2006 solutions in Visual
Studio. Both are part of the same undertaking, to integrate a couple
applications. But I found it convenient to focus on one incoming document
type in the initial solution, and on another incoming type (from the same
application) in the second solution.
The two incoming message types handled by these two VS solutions have the
same root node name, <crmEnv>. Furthermore, the source application builds
no target namespace into the XML. As you can imagine, BizTalk 2006
complains about this: "multiple schemas matched the message type." (See the
full error below my signature.)
I tried to resolve this by modifying the sending application to add a target
namespace to the outgoing message. I thought this would allow BizTalk to
distinguish between the two types of incoming messages. After all,
according to
http://support.microsoft.com/kb/913015/en-us ,
as long as the combination of the target namespace and the root name of all
deployed schemas is unique, we should be good. Here are the two target
namespaces I used:
urn:schemas-crm-com/Offline/UpdatePrimary/80000000000000F1/252
urn:schemas-crm-com/Offline/UpdatePrimary/80000000000000EE/252
In any event, despite adding the target namespaces to the source
application's XML, and adding it to the schemas defined in either solution,
BizTalk continues to throw event 5719 when it receives one of these messages
from the CRM. I have verified that the targetNamespace attribute exists in
the correct form on the incoming message. I have also recompiled and
redeployed all involved assemblies/projects after adding the target
namespace to the two schema definitions.
Furthermore, everything works fine when only one of these two assemblies is
deployed onto the BizTalk server. Help?
Thanks,
BGU
Event ID: 5719
Description:
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:
"CustomerExport_1.0.0.0_CustomerExport.Orchestration1_
CrmPort_4b186d53559d1ced"
URI: "/BizTalk/BTSHTTPReceive.DLL?
channel=Offline_UpdatePrimary_8000000000
0000F1"
Reason: Cannot locate document specification because multiple
schemas matched the message type "crmEnv".
| |
|
| Presumably you're only receiving the messages matching the schema with the
namespace ending in F1/252 at the receive location in question. If so, you
can create a pipeline with the XML Disassembler component in the disassemble
stage, and set the document schema appropriately. That should "unconfuse"
the disassembler. Out of curiosity, can you validate instance messages
against the two respective schemas?
HTH,
PBR
"BGU" <pri@va.te> wrote in message
news:erOXA40iGHA.2220@TK2MSFTNGP05.phx.gbl...
> Hello, I have been working on two BizTalk 2006 solutions in
> Visual Studio. Both are part of the same undertaking, to integrate a
> couple applications. But I found it convenient to focus on one incoming
> document type in the initial solution, and on another incoming type (from
> the same application) in the second solution.
>
> The two incoming message types handled by these two VS solutions have the
> same root node name, <crmEnv>. Furthermore, the source application builds
> no target namespace into the XML. As you can imagine, BizTalk 2006
> complains about this: "multiple schemas matched the message type." (See
> the full error below my signature.)
>
> I tried to resolve this by modifying the sending application to add a
> target namespace to the outgoing message. I thought this would allow
> BizTalk to distinguish between the two types of incoming messages. After
> all, according to
>
> http://support.microsoft.com/kb/913015/en-us ,
>
> as long as the combination of the target namespace and the root name of
> all deployed schemas is unique, we should be good. Here are the two
> target namespaces I used:
>
> urn:schemas-crm-com/Offline/UpdatePrimary/80000000000000F1/252
> urn:schemas-crm-com/Offline/UpdatePrimary/80000000000000EE/252
>
> In any event, despite adding the target namespaces to the source
> application's XML, and adding it to the schemas defined in either
> solution, BizTalk continues to throw event 5719 when it receives one of
> these messages from the CRM. I have verified that the targetNamespace
> attribute exists in the correct form on the incoming message. I have also
> recompiled and redeployed all involved assemblies/projects after adding
> the target namespace to the two schema definitions.
>
> Furthermore, everything works fine when only one of these two assemblies
> is deployed onto the BizTalk server. Help?
>
> Thanks,
> BGU
>
> Event ID: 5719
> Description:
> 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:
> "CustomerExport_1.0.0.0_CustomerExport.Orchestration1_
> CrmPort_4b186d53559d1ced"
> URI: "/BizTalk/BTSHTTPReceive.DLL?
> channel=Offline_UpdatePrimary_8000000000
0000F1"
> Reason: Cannot locate document specification because multiple
> schemas matched the message type "crmEnv".
>
|
|
|
|
|