Getting errors when logging in the AdminUI.
From AdminUI browser:
Error: An unexpected error occurred while configuring the policy store. Please consult the error logs and try again.
From smps.log:
[1269/139957094713088][Thu Jun 20 2019 14:27:51][XPSSvcHandlerBase.cpp:213][ParseRequestBytes][ERROR][sm-xpssvc-00030] Request failed to parse, can't process.
[1269/139957094713088][Thu Jun 20 2019 14:27:51][XPSSvc.cpp:235][InvokeHandler][ERROR][sm-xpssvc-00010] Cannot Parse the Request. ErrorText = ""
Policy Server 12.8SP2 on RHEL;
AdminUI 12.8SP2;
APMforSSO 13.2;
The Policy Server uses libsmserializer.so to parse messages during AdminUI login.
The errors are seen because the Policy Server was not able to load the libsmserializer.so library.
This can be seen by using the lsof command on Linux.
Example of correctly loaded libsmserializer.so (if it was not loaded, it will just return a blank line with no results):
# lsof libsmserializer.so
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
smpolicys 8409 root mem REG 253,0 190156 37490417 libsmserializer.so
When performing ldd command against /siteminder_home/lib/libsmserializer.so, the command shows a not found library.
libxerces-c-3.2.so is not found
and thus the libsmserializer library cannot load.
# ldd libsmserializer.so
linux-vdso.so.1 => (0x00007ffe9e780000)
libsmi18n.so => /opt/CA/siteminder/lib/libsmi18n.so (0x00007f2aa2660000)
libicudata.so.56 => /opt/CA/siteminder/lib/libicudata.so.56 (0x00007f2aa0c7d000)
libicui18n.so.56 => /opt/CA/siteminder/lib/libicui18n.so.56 (0x00007f2aa0742000)
libicuio.so.56 => /opt/CA/siteminder/lib/libicuio.so.56 (0x00007f2aa0534000)
libicuuc.so.56 => /opt/CA/siteminder/lib/libicuuc.so.56 (0x00007f2aa0146000)
libxerces-c-3.2.so => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2a9f883000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f2a9f67f000)
librt.so.1 => /lib64/librt.so.1 (0x00007f2a9f477000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f2a9f170000)
libm.so.6 => /lib64/libm.so.6 (0x00007f2a9ee6e000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2a9ec58000)
libc.so.6 => /lib64/libc.so.6 (0x00007f2a9e88b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2aa2aec000)
If APMforSSO is also installed on the same machine, APMforSSO 13.2's libIntroscopeNativeDataAPI.so is dependent on libxerces-c-3.1.so.
Policy Server 12.8SP2's libsmserializer.so is dependent on libxerces-c-3.2.so.
As the libxerces library names are different, there should not be any collisions and therefore can reside side by side.
Please do not replace one libxerces for the other.
Having both libxerces-c-3.2.so and libxerces-c-3.1.so inside the /siteminder_home/lib directory will allow proper AdminUI login and the ability to load APM for SSO.
# ldd libIntroscopeNativeDataAPI.so
linux-vdso.so.1 => (0x00007ffcb3fa4000)
libapr-1.so.0 => /opt/CA/siteminder/lib/libapr-1.so.0 (0x00007fcaeb459000)
libcurl.so.4 => /opt/CA/siteminder/lib/libcurl.so.4 (0x00007fcaeb180000)
libxerces-c-3.1.so => .....