Navigation

Search

Categories

 
 

On this page

Error - "Identifier expected" when the pipeline is compiling

Archive

Blogroll

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

RSS 2.0 | Atom 1.0 | CDF

Send mail to the author(s) E-mail

Total Posts: 21
This Year: 0
This Month: 0
This Week: 0
Comments: 29

Sign In
Pick a theme:

 Thursday, August 24, 2006
Thursday, August 24, 2006 1:19:15 AM (GMT Standard Time, UTC+00:00) ( biztalk )

Explanation

The execution mode value defined for some stage in the policy file is None. The value None is not available for execution mode, the available values are FirstMatch or All only.

User Action

All pipeline templates have an associated policy file that determines pipeline’s stages, the number of components allowed per stage, and the execution mode of each stage, among others. To specify that one stage can not execute components, use minimum and maximum occurs instead of execution mode.

To resolve this problem is necessary to edit the pipeline’s policy file. The file name can be found in pipeline’s properties windows in Visual Studio 2005 (see figure below), this policy file is stored in <Biztalk Server Installation Directory>\Developer Tools\Pipeline Policy Files directory.

After the file is opened, you must change the value for execution mode in policy file to All or FirstMatch.

Changing the execution mode value

The execution mode is represented in the policy file by the execMethod attribute; it is in the node /Document/Stages/Stage. Open the pipeline’s policy file and identify where this attribute is with value equals to None and replace it by All or FirstMatch as we shown:

Before:

<?xml version="1.0" encoding="utf-8"?>
<Document xmlns:xsd="" xmlns:xsi="" CategoryId="" FriendlyName="">
  <Stages>
    <Stage Name="Decode" minOccurs="0" maxOccurs="-1" execMethod="None"></Stage>
  </Stages>
</Document>

After:

<?xml version="1.0" encoding="utf-8"?>
<Document xmlns:xsd="" xmlns:xsi="" CategoryId="" FriendlyName="">
  <Stages>
    <Stage Name="Decode" minOccurs="0" maxOccurs="-1" execMethod="All"></Stage>
  </Stages>
</Document>

At last, close and open the pipeline file in Visual Studio 2005 to see these changes replicated. The following is the explanation step by step.

One way, but not the right way

If you want that one stage can not execute any component, you must setting the minimum and maximum occurs to 0 for the specific stage or simply delete it from the policy file. 

CAUTION: if you change any of the following values, the next pipelines files that you create based on the current policy files will be affected.

Delete the stage tag

Identify the specific tag, and delete the complete <Stage /> tag from the policy file.

Setting the minOccurs and maxOccurs to 0

Identify the specific stage and set new values for the minOccurs and maxOccurs attributes to 0:

Before:

<?xml version="1.0" encoding="utf-8"?>
<Document xmlns:xsd="" xmlns:xsi="" CategoryId="" FriendlyName="">
  <Stages>
    <Stage Name="Decode" minOccurs="0" maxOccurs="-1" execMethod="All"></Stage>
  </Stages>
</Document>

After:

<?xml version="1.0" encoding="utf-8"?>
<Document xmlns:xsd="" xmlns:xsi="" CategoryId="" FriendlyName="">
  <Stages>
    <Stage Name="Decode" minOccurs="0" maxOccurs="0" execMethod="All"></Stage>
  </Stages>
</Document>

ps.  this post was published using Windows Live Writer Beta.