BizTalk Errors

 

Currently working on BizTalk 2006 applications, during testing freshly created and deployed version of one application, I got error at failure executing the receive pipeline:

 

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:

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

Basically message type is combination of root node and namespace is one of the most typically used to promoted properties for subscription, in fact almost every orchestration uses Message Type as part of its subscription. So it is important to keep message type unique across the different schema deployed on server.

Possible solution:

Solution Number one :
If schema are same used in different application. Make an extra project for schemas, and placed require schemas there. Compiled the new project and created dll for schema in target applications. In this way we can exclude this exception.
Solution Number Two:
One solution is that if we are using xml Receive then in the pipeline definition at receive location level, set the “Allow Unrecognized Documents” to true. This will solve the schema conflict issue.

Solution Number Three :
if schema are different, but same namespace and root name then
create a new send port for service, go to send pipeline properties and set DocumentSpecNames property to fully qualified name of schema in format <schema type>+<root name> ,<schema assembly full name>. This Pipeline property tells BizTalk exact location of schema to be loaded and thus avoid conflict

for example:

ReportLostV2.CardReportLostPC_Package_STORED_PROCEDURES_2+STOP_LIST, Card.ReportLostV2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9b51853b6987xxxx

 

 

 

 

 

 

 

you can get DocumentSpecNames value from SchemStrongName context property.

{ Comments on this entry are closed }

Today during testing and redeploying the BizTalk 2006 application, I got this error.

Change requests failed for some resources. BizTalkAssemblyResourceManager failed to complete end type change request. Unable to install the assembly into the Global Assembly Cache.

Exception: A file load exception occurred while attempting to install the assembly into the Global Assembly Cache. This error may occur if the assembly is delay signed, or if assembly was renamed after creating/signing

Only solution to this problem was to close the visual studio solution and then reopen solution, this solved temporally.  Issue appears again after second or third deployment.

After doing google, I followed these steps to remove this error.

• I have to clear the temp files at machine. For this purpose I typed %temp% at run and it opened the temporary folder. Clear all directory alternatively we can get temp directory similar to following address “ X:Documents and SettingsUserNameLocal SettingsTempBT.

• Full stop the application at BizTalk console. And stop the BizTalk host instance on application is running. Then uninstall the previous/ current versions of dll from GAC and redeploy the application. If you got error message on uninstalling the assembly error “Cannot Uninstall as it is being used by another process”, then stop the host instance, close all applications and try again. If you still cant delete the dll, restart the PC.

• Check if the project is using any reference path that does not exist. ( For this, go to project properties -> Select Reference Paths -> Delete any References that doesn’t Exist)

 

{ Comments on this entry are closed }