BUG: Cannot Query an Optional Field in XLANG (327719)



The information in this article applies to:

  • Microsoft BizTalk Server 2002

This article was previously published under Q327719

SYMPTOMS

When you select optional fields of an incoming document, if these fields do not exist in the document, the XLANG Schedule engine does not accept the document and an event message similar to the following appears in the application log of your computer running BizTalk Server:
Event Type: Error
Event Source: XLANG Scheduler 
Event Category: WFBinding 
Event ID: 20487 
Date: 1/20/2003 
Time: 2:49:17 PM 
User: N/A 
Computer: BIZTALKSERVER 
Description: The XML Query returned zero nodes. 
Instance ID: {051B7678-25F2-416A-BB0E-256ACDCAD5E0} 
Port name: CommonPO 
Queue path: biztalkserver.biztalk.com\private$\commonpo 
Message type: CommonPO 
Message name: CommonPO 
Correlation ID: {00000000-0000-0000-0000-000000000000}-00000000 Error Code = 0xc0045007 : XLANG Scheduler Engine Internals Information: 
    File: e:\bizet\private\sked\src\runtime\techbind\mq\linda\mqconvert.cpp Line: 272

CAUSE

The BizTalk Server documentation incorrectly instructs you to use the IsNull function to look for optional fields in an incoming document. When the XLANG engine accepts documents for processing, it tries to verify that the fields that you selected exist. If the fields do not exist, the XLANG engine does not accept the document.

RESOLUTION

To work around this problem, populate the optional fields with empty attributes before you pass the document to the schedule.

NOTE: This example uses an empty field named <MyElement/>.

To verify that the empty field <MyElement/> does not cause the parent document to be rejected by the XLANG engine, you can insert an attribute in the field that has the following empty string value:

<MyElement myAttr=""></MyElement>

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Modification Type:MajorLast Reviewed:1/20/2003
Keywords:kbbug kberrmsg KB327719