The following
debug messages are available to help you to understand the execution
of your user-defined nodes and parsers:
- BIP2233 and BIP2234: a pair
of messages that are traced before and after a user-defined extension
implementation function is invoked. These messages report the input
parameters and returned value. For example:
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]Note: In these messages, an implementation
function can be interpreted as either a C implementation
function or a Java™ implementation
method.
- BIP2308: a message that is logged when the integration
node fails to load a LIL file.
BIP2308 File
[name of LIL file] could not be loaded; operating system return code
[error code return from operating system]
- BIP3904: a message that is traced before invoking
the Java
evaluate()
method
of a user-defined node. For example: BIP3904 (for
Java): Invoking the evaluate() method of node (class=[node class name],
name=[label of node in flow]) where node class name is
the name of the Java user-defined
extension class.
- BIP3905: a message that is traced before invoking
the C
cniEvaluate
implementation function (iFpEvaluate
member of CNI_VFT) of a user-defined node. For example: BIP3905 (for
C): Invoking the cniEvaluate() implementation function of node (class=[node
class name], name=[label of node in flow]) where node
class name is the name of the user-defined extension class
that is provided by the user-defined extension while calling C cniDefineNodeClass.
- BIP4142: a debug message that is traced when
invoking a user-defined node utility function, where the utility function
alters the state of a syntax element. This includes all utility functions
that start with
cniSetElement
*, where * represents
all nodes with that stem. For example:BIP4142 Evaluating
cniSetElement [element identifier type]. Changing value from [value
before user's change] to [value after user's change]"
- BIP4144 and BIP4145: a pair
of messages that are traced by certain implementation functions that,
when invoked by a user-defined extension, can modify the internal
state of an integration node object. Possible integration node objects
include syntax element, node, and parser. These messages report the
input parameter provided to the invoked method and the returned value.
For example:
BIP4144 Entered function [function
name] ([function call parameters])
BIP4145 Exiting
function [function name] with result: [result to be returned]
In
these messages, an implementation function can
be interpreted as either a C implementation function or a Java implementation method.
The C implementation
functions that invoke messages BIP4144 and BIP4145 include:
For user-defined parsers |
For user-defined nodes |
cpiCreateParserFactory |
cniCreateElement* |
cpiDefineParserClass |
cniDeleteMessage |
cpiAppendToBuffer |
cniAdd* |
cpiCreateElement |
cniDetach |
cpiCreateAndInitializeElement |
cniCopyElementTree |
cpiAddBefore |
cniFinalize |
cpiAddAfter |
cniWriteBuffer |
cpiAddAsFirstChild |
cniSql* |
cpiAddAsLastChild |
cniSetInputBuffer |
cpiSetNameFromBuffer |
cniDispatchThread |
(* represents all nodes with that stem; for example, cniAdd*
includes cniAddAfter, cniAddasFirstChild, cniAddasLastChild, and cniAddBefore.)
The Java methods that invoke messages BIP4144 and BIP4145 are:
For user-defined nodes |
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: a debug message that is traced when
invoking a user-defined parser utility function, where the utility
function alters the state of a syntax element. This includes all utility
functions that start with
cpiSetElement*
, where *
represents all nodes with that stem. For example:BIP4146 Evaluating
cpiSetElement [element identifier type]. Changing value from [value
before user's change] to [value after user's change]
For
information on the C user-defined API, see the C language user-defined parser API and the C language user-defined node API.
- BIP4147: an error message that is traced when
a user-defined extension passes an invalid input object to a user-defined
extension utility API function. For Example:
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: an error message that is traced when
a user-defined extension damages an integration node object.
For Example:
BIP4148 User-defined
extension damaged an integration node object. Function
[function name] has damaged integration node object passed
as parameter [parameter name].
- BIP4149: an error message that is traced when
a user-defined extension passes an invalid input data pointer to a
user-defined extension utility API function. For Example:
BIP4149 User-defined
extension input parameter failed debug validation check. Input parameter
[parameter name] passed into function [function name] is a NULL pointer.
- BIP4150: an error message that is traced when
a user-defined extension passes invalid input data to a user-defined
extension utility API function. For example:
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: a debug message that is traced when
cniGetAttribute2
or cniGetAttributeName2
sets
the return code to an unexpected value. Expected values are CCI_SUCCESS,
CCI_ATTRIBUTE_UNKNOWN, and CCI_BUFFER_TOO_SMALL. Any other value is
an unexpected value. For example: BIP4151 An
unexpected value was returned from User-defined extension implementation
function [function name].
- BIP4152: a debug message that is traced when
cniGetAttribute2
or cniGetAttributeName2
sets
the return code to CCI_BUFFER_TOO_SMALL, and then cniGetAttribute2
or cniGetAttributeName2
is
called again, this time with the correct size buffer, however the
return code is still set to CCI_BUFFER_TOO_SMALL. For example: BIP4152 User-defined
extension Implementation function [function name] returned CCI_BUFFER_TOO_SMALL
on 2nd attempt.