-
Hi, I am working on modifying a "plugin" for an Oracle LDAP product, "OUD" and am having to parse an XML response file using Jackson libs (so previously, Jackson libs were not used). The plugin runs in the environment of the OUD. The following is the code where we use readTree():
Earlier, we couldn't get the readTree() to work at all, i.e., via the debug logging, we could see that the readTree() was CALLED, but then... NOTHING... none of the debug logging after the call, either the line after the readTree() call, or in the catch, or the line after the catch appeared... Back then, one of my colleagues found a way to show the JAR file that was being used, which was 2.9.9 at that time, and after we tweaked our Jenkins/Nexus to provide 2.9.9 and changed the pom.xml to use 2.9.9, the readTree() worked perfectly. Unfortunately, that 2.9.9 version is old and has vulnerabilities, so we are having to upgrade the Jackson libs, and the latest patch that is available from oracle is to 2.12.7/2.12.7.1, so we installed their patch, and now the readTree() is again failing like it originally did... silently. I've tried the same thing I mentioned, to check the Jackson jars, but it looks correct, so I am not sure why the readTree() is not working (difficult to figure out since there is no debug output :( .... But, there are a couple of things I've noticed since we applied the Oracle patch... and I am hoping that they might be the problem. We use core, databind, and dataformat-xml, and after changing the pom.xml to 2.12.7/2.12.7.1, when I build the plugin (using Eclipse with Egit), it builds successfully, but I am a little confused about the dependencies that we need in the pom.xml, because it seems like one of the dependencies has an groupId that is different than the artifactId. I think it is the databind dependency. The Maven website shows for databind and core, respectively:
and (for core):
FYI, I CURRENTLY have the following in pom.xml (sorry I have tried many variations):
and:
and:
So assuming that we need core, databind and dataformat-xml, do we need to include BOTH of the above in the pom.xml? Or, maybe just the databind one? Also, when I build (in Eclipse) it build successfully, but I seeing some warnings:
I don't know if the above warnings might be causing the problem that I am seeing with the readTree() not working, or maybe something else? FYI, I have a small separate app on one of my own machines using Eclipse and Maven and with all three of the same dependencies, and it builds without the above warnings and it also runs perfectly (i.e., the readTree() works properly), so I am really puzzle about what might be causing this problem? I am HOPING that it might be because of those WARNINGS above, and that someone can help. Thanks in advance, and sorry for the longish post :(! Jim EDIT 1: I'm not sure what the correct way is here, but I found some additional information: Above, I said that the readTree() was failing silently, but I just found an error in another log (one of the OUD logs) and it is showing an UncaughtException:
FYI, that "PluginParser.java:184" is the line I showed in the code snippet above, where the readTree() is called, i.e., it appears that when the readTree() is called, an UncaughtException is being thrown by something. EDIT2: I'm not sure if this helps, but I've been poking around and decompiled the ObjectMapper.class and it looks like line 3056 is doing this:
|
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
Hello, Few questions back to @ohaya, if it's okay,
|
Beta Was this translation helpful? Give feedback.
-
re. your 1st comment, Yes, we have been working with Oracle, which got them to provide the patch that updated the Jackson libs to 2.12.7.x (from 2.9.9). FYI, the actual Jackson JAR files after the patch are still NAMED with the "-2.9.9" because Oracle apparently renamed the files and then puts the renamed file into the patch. However we are now at, or near, the point that they (Oracle) is saying that the problem is now no longer their problem since they provided the patch (we are still disputing that but not sure how that will turn out). re. your 2nd comment: I/we can change our code (e.g., the snippet with the treeRead(), as that is all our code, but there are things that we can't (or won't do), like try to change the libs. Re. changing the libs ourselves: the reason we cannot/will not change them is that those libs are put there by Oracle, and the Oracle products apparently use them, so if we changed them, we risk breaking the Oracle product(s). |
Beta Was this translation helpful? Give feedback.
-
Hi, I was able to resolve the problem. When the Oracle patch installs the Jackson the files still have the suffix "-2.9.9.jar" but the actual files are the 2.12.7 or 2.12.7.1. I mistakenly thought I had to change the dependencies in the pom.xml to the versions INSIDE the jar, but it looks like that isn't the case, but rather I have to keep the dependencies in the pom.xml continue to have the "-2.9.9.jar" on the jar file. After I built that successlly and no more "info-module.class" warnings, and my app is also now working. Jim |
Beta Was this translation helpful? Give feedback.
Hi,
I was able to resolve the problem. When the Oracle patch installs the Jackson the files still have the suffix "-2.9.9.jar" but the actual files are the 2.12.7 or 2.12.7.1.
I mistakenly thought I had to change the dependencies in the pom.xml to the versions INSIDE the jar, but it looks like that isn't the case, but rather I have to keep the dependencies in the pom.xml continue to have the "-2.9.9.jar" on the jar file.
After I built that successlly and no more "info-module.class" warnings, and my app is also now working.
Jim