Навигация

Итоги года

Другие ссылки


Реклама

Счётчики


Cannot specify parameters in a Call Rules shape

28.09.2006 Четверг 22:51

Software

BizTalk 2004
BizTalk 2006

Symptoms

While working on a orchestration I faced this problem. I added a Call Rules shape to the orch, double-clicked it, specified business policy I was going to call in this shape. Then I went on to specify parameters for the call. Unfortunately, I was not allowed to enter any parameters, even though the policy did use some schemas.

Cause

If policy you call uses vocabularies, the cause might be in how vocabluaries set up. When you create a new definition in a vocabulary, you select a schema and then a field you want to connect this definition to. As you do that, Business Rule Composer fills out some of the text boxes in the Add New Definition dialog box for you. Well, it turns out it not necessarily does it right. Particularly, DocumentType may be set wrong. Correct value for it should match the fully qualified name of the schema this field comes from.

If policy doesn't use vocabularies, similar problem may arise when using attributes directly from schema. When adding a schema in Business Rule Composer do check DocumentType of the schema as well. It also should coincide with its fully qualified name.

Fully qualified name can be seen in properies of the schema file displayed by Visual Studio.

Another reason for the behaviour may be that you created the policy using a schema, and then moved schema to another project. Although schema is still the same, its namespaces changes, because namespace by default depends on name of the project where schema is defined.

Resolution

Whenever a new definition is created in a vocabulary, check if DocumentType of the definition matches fully qualified name of the schema. Whenever a schema is added in Business Rules Composer, also check DocumentType of the schema.

If the schema was moved to another project and therefore its namespace has changed, re-create the policy using the new schema.

P.S.don't forget to fix the rules after you've fixed the vocabs.