My dearest Debuggers,
Today I want to share and IBM Integration Designer deployment issue with you.
To share some background: The goal of the task described here was to migrate an SCA (Service Component Architecture) project created in WebSphere Integration Developer (WID) v7.0.x to IBM Integration Designer (IID) v8.5.5. The migration itself worked pretty well, but afterwards, the deployment from IID to the Process Server failed with the below error message:
Reviewing the server log, I saw a lot of scatterted exceptions ending with the deployment error:
[4/10/15 8:58:13:904 EDT] 00002cf2 InstallSchedu I ADMA5014E: The installation of application NIxxxxxxxx_App failed.
[4/10/15 8:58:14:544 EDT] 00002afb FileRepositor A ADMR0016I: User defaultWIMFileBasedRealm/admin modified document cells/PSCell1/nodes/Node1/serverindex.xml.
Looking at the exception window in IID, we could see that an FFDC file was created, so next step was to look at that file as well:
Bingo! The information in the FFDC pointed us towards shared libraries that were used in the process application, which might contribute to the error:
[4/10/15 8:57:52:439 EDT] FFDC Exception:java.lang.IllegalStateException SourceId:com.ibm.ws.al.scope.profile.SharedLibraryLoader
ProbeId:getLibrary Reporter:com.ibm.ws.al.scope.profile.SharedLibraryLoader@8a657aa7
java.lang.IllegalStateException: Library NISSP_DK_Lib at version could not be resolved from the ear, current BLA or globally
at com.ibm.ws.al.scope.profile.SharedLibraryLoader.getLibrary(SharedLibraryLoader.java:166)
at com.ibm.ws.al.scope.profile.SharedLibraryLoader.computeRefLib(SharedLibraryLoader.java:94)
at com.ibm.ws.al.scope.profile.SharedLibraryLoader.getReferencedLibraries(SharedLibraryLoader.java:78)
at com.ibm.ws.al.scope.profile.SharedLibraryProfileHelper.addSharedLibraries(SharedLibraryProfileHelper.java:288)
at com.ibm.ws.al.scope.profile.ArchiveProfile.getCatalog(ArchiveProfile.java:65)
at com.ibm.ws.al.scope.ALScopeImpl$1.run(ALScopeImpl.java:250)
at com.ibm.ws.al.scope.ALScopeImpl$1.run(ALScopeImpl.java:248)
at java.security.AccessController.doPrivileged(AccessController.java:273)
at com.ibm.ws.al.scope.ALScopeImpl.getCatalog(ALScopeImpl.java:248)
[...]
And indeed, the module had dependencies to 3 libraries:
And this, my dear friends, is why I always ask for the complete log folder containing the SystemOut.log, trace.log and FFDC folder as well. It is very helpful to review ALL logs and traces available as they sometimes provide different information and additional hints. Sometimes we need to pull our information together piece by piece - just like doing a jigsaw puzzle. And in the end, we will get a clear(er) picture of the issue and maybe even the root cause.
But back to debugging this one - the focus was now on the libraries. Why did they prevent a successful deployment?
A shot check with my friends in development (whom I would like to thank again hereby) shed some light:
Under some circumstances the .settings/org.eclipse.wst.common.component file loses the source folder entry for the project root, and exporting the project using the J2EE tools will not export anything from the root level.
As the libraries were affected here, the following 'workaround' did the trick here:
-
In IID switch to the Navigator View (Windows >> Show View >> Other >> Open Navigator View)
-
For the first library, open the settings/org.eclipse.wst.common.component file and add this line:
<wb-resource deploy-path="/" source-path="/"/>
Do the same for all other libraries used by this module as well.
-
Save your changes and try to deploy the application again.
And this is it. Now it should work. And in case it does not, take two of these and call me in the morning.
Your Dr. Debug