we nearly had the exact same problems during our Case Manager to BAW upgrade. A couple of PMRs later some of them are solved, some of the problems still occur until today...
You mentioned a couple of CORs and CSP exceptions. We could solve all of them by setting up correct SSO between BAW instances and external CPE/ICN (for example we had a missing domain name in our WAS SSO configuration which caused one of the CORs exceptions).
With the migration from Case Manager to BAW the case applications like CaseAPI move from the ICN node to the BAW server instance. Only the plugins do remain on the ICN side. Therefore it is necessary to adjust the path settings inside the plugins from relative paths to absolute paths. So it is absolutely correct, that the URL inside the ICMClient.jar (should) get updated.
The setExternalNavigator command should take care of this action for ICMClient.jar, but unfortunately in our case nothing happended, we needed to manually adjust the URLs...which should definitively not be the usual case for official jars provided by IBM..
Original Message:
Sent: Fri May 03, 2024 06:52 PM
From: David Alfredson
Subject: Deployment of Case Management plugins failure with External Navigator during upgrade to BAW
Hi Dave,
Thanks for replying. This is a traditional 5.3.3 upgrade to BAW 23.0.2 with all the latest fix packs.
A little more investigation this morning, with me deliberately trying to break the configuration and see what errors get logged.
Specifically for the registercaseclient task, the code seems to be using the contentnavigator.xml to get the port to talk to navigator, which is correct. It uses that port to retrieve and register the plugins. Changing it to something else breaks that, and logs the bad value that I set, so I'm fairly confident that the value in the contentnavigator.xml is correct.
The next part of the task generates a URL for the plugin that it then pokes into the ICMClient.jar file (don't know why) and generates the load reference for the plugin. That part of the code is using the BAWProcessServerPort from the websphereapplicationserver.xml which is wrong. It should be using the port from navigator.
I think this is both a bug in the configmgr code, as well as a result of our configuration. Perhaps everyone else has been lucky and their navigator and baw servers have been separated enough that they use different host names but the same ports. In this first case, it's all on one server, so the different components have the same host name and different ports.
I'll follow with a PMR and hope that it can be fixed as I can't see any other way to get this to build otherwise.
------------------------------
David Alfredson
Original Message:
Sent: Fri May 03, 2024 06:48 AM
From: Dave Ward
Subject: Deployment of Case Management plugins failure with External Navigator during upgrade to BAW
Hi David,
Are you talking about installing the ICM (v5.3.3.x) plugins back into your ICN instance, or the BAW plugins.
Have just checked a couple of our builds and the BAW plugins get installed as WAS applications on the BAW server and the Navigator plugin config also points back to a Jar file on the BAW server (via a URI rather than a path).
I can't say I've ever tried to see if the ICM and BAW Case Client plugins coexist happily in the same environment.
On a related note we did find the on certain versions of BAW the Jar file we deployed as part of our custom widgets package was changed by the "Deploy custom widgets package" task (you could see the URL had been changed when inspecting the before and after Jars in JD-GUI). We fixed this by copying the original Jar file over the top of the amended one that had been deployed. Not sure if this will help you, but thought it worth mentioning.
Good luck!
Dave.
------------------------------
Dave Ward
Original Message:
Sent: Fri May 03, 2024 02:44 AM
From: David Alfredson
Subject: Deployment of Case Management plugins failure with External Navigator during upgrade to BAW
I'm upgrading a Case Manager implementation to a full BAW configuration and I'm getting multiple errors when deploying the internal case management plugins to an external navigator configuration. I believe all of the upgrade documentation steps have been followed and checked repeatedly. Any help or suggestions for investigation would be appreciated.
Issues
- External Navigator does not end up with the correct plugins loaded.
- Plugins that are loaded have incorrect URL references in that they point to BAW rather than Navigator
- Multiple CORs and CSP errors occur as plugins are unable to communicate as they're in the wrong place
Questions
- Has anyone experienced similar issues with configuring an external navigator with BAW and overcome them?
- Are there any suggestions for what else to try (after checking what I've already tried below)?
Analysis Undertaken
I've gone through multiple iterations of the configuration XML files, changing and testing values. The only case where things get deployed, is where the references for WebSphere are to the BAW instance, which is wrong for deploying plugins. When values are changed to deploy to the Navigator instance, the tasks fail completely. As an example, ICMClient.jar seems to be generated with an embedded BAW url which should be a Navigator URL. There doesn't appear to be anywhere in the XML to indicate navigator is external and debugging the task execution provides little help as the debug/trace is missing the information I need.
The terms used in the xml descriptions are generic in some places and in some very specific, with references indicating just WebSphere Application Server without defining which one. I've tried all options available. In places where BAW is specifically mentioned I've tried BAW as expected and the other various options. In the configuration, we have two profiles, three clusters, three nodes all with their own port addresses, cell names and server names. The lack of clarity/specificity in the xml implies a bit of an educated guess when the expected value doesn't work.
The various configmgr tasks do execute and objects are deployed, just not in a way that works at runtime. For the ICMClient this is specifically weird as it's an OOTB component. There shouldn't be any need to do anything for it work, other than provide the configuration options. I find the hardcoded URLs embedded in the JAR peculiar.
Configuration Background
Existing Case Manager, FileNet and Navigator deployments have been upgraded to the latest versions including fix packs and hot fixes and are hosted on a discrete WebSphere instance on linux. They worked fine before this issue appears, towards the end of the upgrade steps. Workflow center, navigator and acce for example all loaded prior to the completion of the last configuration tasks. Now navigator has issues, everything else still works.
BAW has been installed in a separate WebSphere instance sharing file systems and security settings. LDAP access, LTPA and SSL are working for Case Manager, FileNet, Navigator and BAW. Certificates validate correctly.
The setBPMExternalECM and setExternalNavigator commands and all the pre-requisites have been checked and executed (multiple times).
The various configmgr_cl xml files have been generated, edited and executed multiple times and the outcome tested. Systems have been restarted when needed.
CORs configuration for Navigator and BAW have been completed.
------------------------------
David Alfredson
------------------------------