- BIP2233 和 BIP2234:调用用户定义的扩展实施函数之前和之后跟踪到的一对消息。这些消息会报告输入参数和返回的值。例如:
BIP2233 Invoking user-defined extension
function [function name] ([function call parameters])
BIP2234 Returned
from user-defined extension function [function name] with result: [result
of call]注: 在这些消息中,implementation function 可以解释为 C 实施函数或 Java 实施方法。
BIP2308:代理无法装入 LIL 文件时所记录的消息。BIP2308 文件 [LIL 文件的名称] 无法装入;操作系统返回码 [操作系统返回的错误代码]

- BIP3904:调用用户定义的节点的 Java evaluate() 方法之前跟踪到的消息。例如:
BIP3904 (for
Java): Invoking the evaluate() method of node (class=[node class name], name=[label
of node in flow]),其中 node class name 是 Java 用户定义的扩展类的名称。
- BIP3905:调用用户定义的节点的 C cniEvaluate 实施函数(CNI_VFT 的 iFpEvaluate 成员)之前跟踪到的消息。例如:
BIP3905 (for
C): Invoking the cniEvaluate() implementation function of node (class=[node
class name], name=[label of node in flow]),其中 node class
name 是在调用 C cniDefineNodeClass 期间由用户定义的扩展所提供的用户定义的扩展类的名称。
- BIP4142:调用用户定义的节点实用程序函数时跟踪到的调试消息,其中实用程序函数会改变语法元素的状态。这包含所有以 cniSetElement* 开头的实用程序函数,其中 * 表示带有该词干的所有节点。例如:
BIP4142 Evaluating cniSetElement
[element identifier type]. Changing value from [value before user's change]
to [value after user's change]"
- BIP4144 和 BIP4145:由某些实施函数跟踪到的一对消息,当这些实施函数由用户定义的扩展调用时,它们可以修改消息代理对象的内部状态。可能的消息代理对象包含语法元素、节点和解析器。这些消息会报告提供给调用方法和返回值的输入参数。例如:
BIP4144 Entered
function [function name] ([function call parameters])
BIP4145 Exiting
function [function name] with result: [result to be returned]
在这些消息中,implementation function 可以解释为 C 实施函数或 Java 实施方法。
调用消息 BIP4144 和 BIP4145 的 C 实施函数包含:
针对用户定义的解析器 |
针对用户定义的节点 |
cpiCreateParserFactory |
cniCreateElement* |
cpiDefineParserClass |
cniDeleteMessage |
cpiAppendToBuffer |
cniAdd* |
cpiCreateElement |
cniDetach |
cpiCreateAndInitializeElement |
cniCopyElementTree |
cpiAddBefore |
cniFinalize |
cpiAddAfter |
cniWriteBuffer |
cpiAddAsFirstChild |
cniSql* |
cpiAddAsLastChild |
cniSetInputBuffer |
cpiSetNameFromBuffer |
cniDispatchThread |
(* 表示带有该词干的所有节点;例如,cniAdd* 包含 cniAddAfter、cniAddasFirstChild、cniAddasLastChild 和 cniAddBefore。)
调用消息 BIP4144 和 BIP4145 的 Java 方法有:
针对用户定义的节点 |
com.ibm.broker.plugin.MbElement.CreateElement* |
com.ibm.broker.plugin.MbElement.add* |
com.ibm.broker.plugin.MbElement.detach |
com.ibm.broker.plugin.MbElement.copyElementTree |
- BIP4146:调用用户定义的解析器实用程序函数时跟踪到的调试消息,其中实用程序函数会改变语法元素的状态。这包含所有以 cpiSetElement* 开头的实用程序函数,其中 * 表示带有该词干的所有节点。例如:
BIP4146 Evaluating cpiSetElement
[element identifier type]. Changing value from [value before user's change]
to [value after user's change]
有关 C 用户定义的 API 的信息,请参阅 C 语言用户定义的解析器 API 和 C 语言用户定义的节点 API。
- BIP4147:用户定义的扩展将无效的输入对象传递至用户定义的扩展实用程序 API 函数时跟踪到的错误消息。例如:
BIP4147 User-defined
extension input parameter failed debug validation check. Input parameter [parameter
name] passed into function [function name] is not a valid object.
- BIP4148:用户定义的扩展破坏代理对象时跟踪到的错误消息。例如:
BIP4148 User-defined
extension damaged broker’s object. Function [function name] has damaged broker’s
object passed as parameter [parameter name].
- BIP4149:用户定义的扩展将无效的输入数据指针传递至用户定义的扩展实用程序 API 函数时跟踪到的错误消息。例如:
BIP4149 User-defined
extension input parameter failed debug validation check. Input parameter [parameter
name] passed into function [function name] is a NULL pointer.
- BIP4150:用户定义的扩展将无效的输入数据传递至用户定义的扩展实用程序 API 函数时跟踪到的错误消息。例如:
BIP4150 User-defined extension
input parameter failed debug validation check. Input parameter [parameter
name] passed into function [function name] does not have a valid value.
- BIP4151:cniGetAttribute2 或 cniGetAttributeName2 将返回码设置为意外值时跟踪到的调试消息。期待获取的值为 CCI_SUCCESS、CCI_ATTRIBUTE_UNKNOWN 和 CCI_BUFFER_TOO_SMALL。除此以外的任何其他值均为意外值。例如:
BIP4151 An
unexpected value was returned from User-defined extension implementation function
[function name].
- BIP4152:在以下情况下跟踪到的调试消息:cniGetAttribute2 或 cniGetAttributeName2 将返回码设置为 CCI_BUFFER_TOO_SMALL,然后再次调用 cniGetAttribute2 或 cniGetAttributeName2,但这次是用正确大小的缓冲区进行调用,然而返回码仍设置为 CCI_BUFFER_TOO_SMALL。例如:
BIP4152 User-defined
extension Implementation function [function name] returned CCI_BUFFER_TOO_SMALL
on 2nd attempt.