WebSphere Message Broker, Version 8.0.0.7
Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS
See information about the latest product version
See information about the latest product version
Resolving mapping and message reference problems when developing message flows
Advice for dealing with some common mapping and message reference problems that can arise when developing message flows:
Resources that are referenced by the mapping file cannot be resolved
- Scenario: You have imported some message flows into the WebSphere® Message Broker Toolkit that contain mappings. An error is issued, indicating that the resources that are referenced by the mapping file cannot be resolved.
- Explanation: Mappings can use resources that exist in other projects. For example, a mapping reference to a message set might exist in a different project. If the reference cannot be resolved, it probably means that the reference to the other project has been lost.
- Solution: Create a new project reference. For more information, see Adding and removing library references.
Errors are issued when you import table schemas into the Graphical Data Mapping editor
Warnings or errors are issued for message references
This practice is beneficial because the passed reference supports content assistance and validation for ESQL. The message type content properties open, or open defined are not used in validation, and the assumption is that this property is closed.
A $db:select out of scope error is generated when you map from a database source
- Scenario: You have specified a database as the data source and when you save the map file, there is an error saying $db:select out of scope
- Explanation: A $db:select expression must be within the scope of the $db:select entry in the Map Script column of the Spreadsheet pane, meaning that it must be a descendant of the select statement. If a $db:select expression is out of scope the Graphical Data Mapping editor moves the $db:select entry to a position where the $db:select expression is in scope. The $db:select expression can remain out of scope if it is positioned above the $db:select entry in the Map Script column of the Spreadsheet pane.
- Solution: Delete the out of scope $db:select expression or move the $db:select entry in the Map Script column. You can drag the element out of the 'for' row, and then drag the $db:select entry in the Map Script column higher in the message, above the out of scope $db:select expression. Ensure that the out of scope $db:select expression is now a descendant of the $db:select entry.
A $db:proc out of scope error is generated when you map from a database stored procedure
- Scenario: You have specified a stored procedure as the source and when you save the map file, there is an error saying $db:proc out of scope
- Explanation: A $db:proc expression must be within the scope of the $db:proc entry in the Map Script column of the Spreadsheet pane, meaning that it must be a descendant of the stored procedure statement. If a $db:proc expression is out of scope the Graphical Data Mapping editor moves the $db:proc entry to a position where the $db:proc expression is in scope. The $db:proc expression can remain out of scope if it is positioned above the $db:proc entry in the Map Script column of the Spreadsheet pane.
- Solution: Delete the out of scope $db:proc expression or move the $db:proc entry in the Map Script column. You can drag the $db:proc entry in the Map Script column higher in the message, above the out of scope $db:proc expression. Ensure that the out of scope $db:proc expression is now a descendant of the $db:proc entry.
A $db:func out of scope error is generated when you map from a database user-defined function
- Scenario: You have specified a user-defined function as the source and when you save the map file, there is an error saying $db:func out of scope
- Explanation: A $db:func expression must be within the scope of the $db:func entry in the Map Script column of the Spreadsheet pane, meaning that it must be a descendant of the user defined function statement. If a $db:func expression is out of scope the Graphical Data Mapping editor moves the $db:func entry to a position where the $db:func expression is in scope. The $db:func expression can remain out of scope if it is positioned above the $db:func entry in the Map Script column of the Spreadsheet pane.
- Solution: Delete the out of scope $db:func expression or move the $db:func entry in the Map Script column. You can drag the $db:func entry in the Map Script column higher in the message, above the out of scope $db:func expression. Ensure that the out of scope $db:func expression is now a descendant of the $db:func entry.
Target is not referencing a valid variable warning when you set the value of a target
There are missing or unexpected targets in a message map
Error message BIP6118 is issued: The remaining bitstream is too small contain the indicated structure.
- Scenario: You have used an unsupported message domain for a target message in your message map.
- Explanation: The message domain that is associated with a target message is determined by the Message Domain property of your message set. Mapping nodes generate a target message that matches the message domain of the message set. Using a message domain that is not supported by the message mapper can result in an output message with a structure that is not valid for the chosen parser.
- Solution: To solve the problem, change the target message domain for your message set.
Error message BIP4680 is issued: Unsupported message domain encountered in mapping node.
- Scenario: You have used an unsupported message domain for a target message in your message map, for example BLOB.
- Explanation: The message domain that is associated with a target message is determined by the Message Domain property of your message set. Mapping nodes generate a target message that matches the message domain of the message set. Using a message domain that is not supported by the message mapper can result in an output message with a structure that is not valid for the chosen parser.
- Solution: To solve the problem, change the target message domain for your message set.