We're running a Policy Server and when user access application in
federation, then the Assertion Generator Plugin doesn't work. And it
reports error :
[25292/42][Mon Nov 18 2019 09:22:26][AssertionGenerator.java][ERROR]
[sm-FedServer-00110] The assertion customization failed.n
The method decodeBase64 is only available from common codec 1.4
java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64String() in Java EE application
That method was introduced in Commons Codec 1.4
How can we solve this knowing that the Policy Server 12.52SP1CR05 we
run has common-codec-1.3 only ?
Policy Server 12.52SP1CR05 on SunOS 5.10;
First, we don't support to replace a third party jar in Policy
Server for assertion generator plugin code. You should instead
upgrade the Policy Server.
Second, JNI java doesn't allow the use of 2 different versions of the
same .jar in his classpath, giving erratic results.
What we would suggest you then :
- Replace the test environment Policy Server 12.52 common-codec jar
version with the version you need. Do extensive testing to insure
that none of the Policy Server functionality is lost. Replicate in
your test environment all the functionality you have deployed in
Production to insure that.
If you see no functionality lost, then you might be confortable to run
Policy Server 12.52SP1 with the updated library in Production and have
your Custom AGP working as expected. The only thing is that you will
be reponsible entirely of that change.
You can replace the current library on Policy Server 12.52SP1 with the
next version 1.10 :
commons-codec-1.3.jar -> commons-codec-1.10.jar
- Find where the commons-codec-1.3.jar is located;
- Backup and remove that commons-codec-1.3.jar;
- Put in the same folder the commons-codec-1.10.jar;
As stated above, this is on your fully responsability and you won't be
able to run both version at the same time on the Policy Server.
<2019-11-26> :: [email protected] : Initial Publication