Resolving problems with user-defined extensions
Advice for dealing with some common problems that can arise when you work with user-defined extensions
About this task
Procedure
- You cannot deploy one of your user-defined nodes, despite having a plug-in LIL in the correct directory.
- You cannot deploy a flow with one of your user-defined nodes in it.
- You get problems when nodes try to use the ESQL path interface in the plug-in API
- After migration your custom property editor does not work
- Interpreting problems in user-defined extensions
- You want to debug classloading
- An error is issued when you deploy a user-defined extension on Linux
- You cannot determine which user-defined extensions have been loaded by the integration node on startup
- You are migrating a C user-defined node and cniDefineNodeClass returns CCI_INV_IMPL_FUNCTION.
You cannot deploy one of your user-defined nodes, despite having a plug-in LIL in the correct directory.
Procedure
You cannot deploy a flow with one of your user-defined nodes in it.
Procedure
- Scenario: You cannot deploy a flow with one of your user-defined nodes in it.
- Explanation: Your LIL file has failed to load.
- Solution: Check system log (syslog or Eventviewer) of integration node startup; did you see a BIP2308 message saying a LIL file failed to load? If there are any problems loading a LIL file, a BIP2308 message appears in the system log.
You get problems when nodes try to use the ESQL path interface in the plug-in API
Procedure
After migration your custom property editor does not work
Procedure
- Scenario: You have migrated to a new version of IBM® App Connect Enterprise and your custom property editor no longer works.
- Explanation: Custom property editors can use Eclipse or RAD APIs. If any of those APIs are changed in a new version of IBM App Connect Enterprise, your property editor might not work.
- Solution: Update your property editor code to comply with the changed API.
Interpreting problems in user-defined extensions
Procedure
You want to debug classloading
Procedure
- Scenario: You want to debug classloading.
- Solution: Classes and the location from which they are loaded are written to user trace. Use this information to check that the correct classes are being loaded.
An error is issued when you deploy a user-defined extension on Linux
Procedure
- Scenario: When you deploy a user-defined extension on Linux® , an error is displayed in the log of each integration server, stating that there is insufficient authority to open the LIL file.
- Explanation: On Linux , the user-defined extension must have group read permission.
- Solution: On Linux , set the file permissions of the user-defined extension to group read by issuing the command chmod a+r
You cannot determine which user-defined extensions have been loaded by the integration node on startup
Procedure
You are migrating a C user-defined node and cniDefineNodeClass returns CCI_INV_IMPL_FUNCTION.
Procedure
- Scenario: When you attempt to migrate a C user-defined
node,
cniDefineNodeClass
returns CCI_INV_IMPL_FUNCTION. - Explanation: New fields have been added to the CNI_VFT struct. CNI_VFT_DEFAULT has been updated to initialize these new fields in the header file BipCci.h. If you initialize your CNI_VFT with CNI_VFT_DEFAULT, you should not need to make any code changes. However, if you do not initialize CNI_VFT with CNI_VFT_DEFAULT, these new fields are initialized with random values.
- Solution: Initialize your CNI_VFT with CNI_VFT_DEFAULT.