Troubleshooting Orchestrations

This section presents various problems that you may encounter as you develop your orchestrations, and a corresponding solution for each problem.

Excluded orchestration does not appear in drop-down list after being included back into the project

If you exclude an orchestration from your project, and later include it back in, it will not immediately be visible in a drop-down list of orchestrations available to your project, for example when selecting an orchestration from the Call Orchestration shape. To see it again, close your project and re-open it.

Uninitialized variables when orchestration begins with a parallel

If the first shape in your orchestration is a Parallel with an activate receive in it, any variables global to your orchestration will not be automatically initialized or have default constructors called. In this case you will need to explicitly initialize them and call their constructors (if applicable) in an Expression shape.

Duplicate name for folder and orchestration

If you create a folder in a project, and then create an orchestration in that folder with the same name as the folder, the project will not compile. This is because you are creating a duplicate name between the orchestration and the namespace associated with the folder. Rename the folder or the orchestration.

Empty string value not accepted

If you create a variable of type System.String and set the initial value to “”, you will get an error. To set the initial value to an empty string, use a backslash as an escape character before each quotation mark: \”\”.

Serialization failure

If you use an object in your orchestration that is marked as Serializable, then you must make all of its member variables serializable, or its runtime state cannot be persisted.

Message part not serializable

A class must be serializable to be used as a message part. Additionally, you might experience problems if a project dependency is not present in the Global Assembly Cache (GAC), as when you annotate a .NET class in your solution with BizTalk message properties, and define a message part as that class.

If this happens, put your orchestration project in a separate solution. Before compiling the solution, make sure that all referenced assemblies have been added to the GAC, and make sure that all direct or indirect references are consistent with the versions present in the GAC. Then compile the orchestration. If the problem recurs, restart Visual Studio and repeat the process.

To avoid version inconsistencies, you can edit the AssemblyInfo file in your .NET projects to specify a version, rather than depending on the automatic version increment feature.

Import failure with BPEL4WS and WSDL definition

When importing BPEL4WS along with a WSDL definition of port and message types, you should use different strings for the name property of the BPEL4WS process node and the name property of the WSDL definition node.

For example, if the WSDL definition starts off as

<definitions name="OrderShippingWSDL" targetNamespace="http://contoso.org/samples" ...>

and the BPEL4WS starts off as

<process name="OrderShippingProcess" targetNamespace="http://contoso.org/samples"...>

then the process name will be changed automatically.

Cannot assign constant DateTime or TimeSpan to message when exporting to BPEL4WS

You cannot assign a constant DateTime or TimeSpan to a message of one of those types when exporting to BPEL4WS.

You can, however, invoke a Web service which returns a DateTime or TimeSpan value, and assign the return value to the message, or you can use a received message of that type to assign to a new message.

Available orchestration missing from dropdown list

If you have an orchestration in your project, then exclude it from your project, then include it back into your project, it will not be visible in the dropdown list of available orchestrations if you attempt to call or start it from another orchestration in the project.

To see the orchestration, close the project, and then reopen it. The included orchestration will now be visible in the dropdown list.

Attempt to debug yields deployment error

If you attempt to debug a C# project that depends on a BizTalk project, you might get an error that says the assembly is already deployed.

To debug, choose Build, Configuration Manager from the menu, and uncheck deploy for the project. You will then be able to debug normally.

See Also

Developing Orchestrations

To download updated BizTalk Server 2004 Help from www.microsoft.com, go to http://go.microsoft.com/fwlink/?linkid=20616.

Copyright © 2004 Microsoft Corporation.
All rights reserved.
Show: