ibm.commons error after upgrade to Notes 9 - xpages

I have an XPage app that has been working fine. I upgraded my client from 8.5.3 FP6 to 9.0.1 FP1, built the database and now receive the following error on the 8.5.3 server console:
HTTP JVM: java.lang.NoSuchMethodError: com/ibm/commons/util/io/json/JsonJavaObject.put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
If I rebuild from an 8.5.3 client it runs fine again.
Any suggestions on what I need to do differently using the 9.0.1 Designer client ?
Thanks...

Have you tried compiling the application to run as an earlier version? There is an option in xsp properties to compile with an earlier version.

If you can compile on your Designer, it's a specific problem for your server. Check plugins and additional Java libraries on your server. There might be a conflict.
On your server, extension library is installed? If yes, which version? (ExtLib for 8.5.3 contains IBM Commons jar, so it may be a reason of conflict), OpenNTF Domino API? Social Enabler?
You might also test with a clean Domino installation to determine the root cause.

Related

OpenNTF domino api not available for selection in designer

Domino API is not available to be checked in the xpage properties of my databases
I am trying to use domino api to help with some of the recycling problems that we've had with xpages. I've spent days watching the various videos that have been made over the years. I have tried to get this working in both my work environment (9.0.1) and my home dev server (10). In both cases the result is the same - I have installed the extension library and domino api on the server via updatesite and it seems to be fine there. In my designer I can see that both extension library and domino api are installed (by looking in Application Management) but only extension library is available in the databases.
Need to be able to select the org.opentf library in the datbases.
We've tried to clarify in the release page. 4.2.x is for 9.0.1 FP9. Since 10 we've moved to updated version numbering, although Tycho doesn't make it straightforward. So 10.0.0 covers V10. The version in Notes needs to match the Notes version, not the Domino version. It's referenced for compiling only, not pulled into the design. So on the server, the version needs to match the Domino server version. So you may have different versions if DDE and the server are different. That's to do with how OSGi works.

XPages Extension Library cannot be found

I'm getting the error below when I run my application:
com.ibm.xsp.FacesExceptionEx: The application /test/Test.nsf requires com.ibm.xsp.extlib.relational.library
The extension library cannot be found, but the library was installed by replicating the updatesite.nsf from the main server to the current server throwing this error.
When I issue the command below:
tell http osgi ss com.ibm.xsp.extlib
The log show that the library is ACTIVE, but does not show that it has been INSTALLED.
Since the library is already on the server, how can I install it?
Your support will be appreciated.
Thanks.
com.ibm.xsp.extlib.relational.library is not part of the core 9.0.1 Extension Library. It was only incorporated into the core OpenNTF Extension Library in 9.0.1_v00_10. It was not incorporated into core IBM Extension Library until Feature Pack 8. You will see that nothing starting com.ibm.xsp.extlib is referenced in your screenshot of the server console, and version 9.0.1_v00_00 which shows you only have 9.0.1 base Extension Library installed. There are three options:
Install ExtLibX component from the OpenNTF Extension Library. You will still be using the base 9.0.1 version for all other controls.
Upgrade the version of the Extension Library to a more recent version, e.g. 9.0.1_v00_17. This will override the base 9.0.1 version of all Extension Library controls.
Upgrade to 9.0.1 Feature Pack 8.
Note that if you use ExtLibX, SSJS code or XPages components will continue to work when you subsequently upgrade ExtLib (or Domino to FP8+). However, to avoid name collisions, the Java class names will change. If you use custom Java code, you will need to edit and update the classes to the new Java package names when upgrading in the future.

Xpages can't load, Error 500; java.util cannot be resolved

I recently moved a couple of applications to a server that is running Domino 9.0.1FP8 (JVM version: JRE 1.8.0 Windows Server 2008 R2 amd64-64). Since I did this I've been unable to load any, but the most basic of Xpages. I get the "Error 500 HTTP Web Server: Command Not Handled Exception" page.
Via the ...IBM\Domino\data\IBM_TECHNICAL_SUPPORT\xpages_exec I get Exceptions such as:
The type java.util.Comparator cannot be resolved. It is indirectly referenced from required .class files
The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files
The import java.util.Arrays cannot be resolved
I'm also getting the following Errors in the "Problems" tab in Designer:
"The project was not built since its build path is incomplete. Cannot
find the class file for java.util.Comparator. Fix the build path then
try building this project"
"The type java.util.Comparator cannot be resolved. It is indirectly
referenced from required .class files"
Is there a reason the java.util is failing in Java 1.8? Is there anything I can do? Thanks for any help.
Dan
This problem occurs when Domino Designer 9.0.1 FP8 attempts to compile against a Java8 JRE. The version of eclipse in that Designer install does not know how to parse some of the runtime jar files in Java8. The workaround is to compile against a Java6 JRE instead. There were changes in the Domino Designer installation as part of SPR#BGLN9PXEVM to change the configuration of the preferences in Designer to point to a Java6 JRE instead of using the default JRE. If there was some install problem or you manually modified your preferences, you may need to manually re-apply the workaround as follows.
In Domino Designer, menu File, Preferences, Java, Installed JREs.
There should be 2 listed JVMs with paths like so:
[x] jvm C:\Notes\jvm1.6\
[ ] Notes 8.5.1 VM (locked) C:\Notes\jvm
If your entry named "jvm" is incorrectly pointing to the C:\Notes\jvm\ folder instead of the jvm1.6 folder, then you will need to edit it to point to the jvm1.6 folder instead.
On the Domino Designer team we are investigating potentially upgrading the eclipse version in Designer, so that it might be possible to compile against a Java8 JRE.
It sounds like the installer has not installed successfully. There's no reason java.util packages should be failing. I would recommend running the installer again, making sure all services are stopped prior to running it. That will ensure that anything that needs replacing isn't locked by another process.

How is the correct procedure for uninstalling or upgrading Extension Library on Domino server?

I have Extension Library instaled on Domino server 9.0.1 using update site database. Now when new version of ExtLib is released, how is the proper procedure to update to this new version? I removed documents from update site (for existing ExtLib) and imported new ExLib version but now it seems that I have both versions on Domino when I use tell http osgi ss com.ibm.xsp.extlib
Did you restart HTTP using restart task http?
FYI: XPages uses the latest version of loaded libraries.
You don't need to delete the old content from the update site, although that is a valid approach as well.
You can just disable the old content in the update site. In the image below, I have a 9.0.1 server, with 901_v00_03 of ExtLib & 901_v00_04 of ExtLib installed via update site. However, I have disabled the 901_v00_03 features in the update site (and restarted my server), and they do not show up in the console output.
The 901_v00_04 plugins show up in the console output, as do the core versions that came installed with 901 (901_v00_00_20131004-1200). The latest version of the plugins are the ones that will be used.i.e. 901_v00_04 ExtLib versions.
If you have removed the content from the active updateSite completely, and restarted the server, they should not appear in the console output at all. So we may need more info to find out what went wrong, if that is the case.

Problems creating a Java Mobile Application project

I have installed the Netbeans 6.7 IDE with Java ME included, but cannot create a Mobile Application project from the Java ME category. When I select the project type the wizard stops at "Finding Feature" with the message:
Not all requested modules can be enabled:
[StandardModule:org.netbeans.modules.mobility.end2end.kig jarFile:C:\Program Files\NetBeans 6.7\mobility8\modules\org-netbeans-modules-mobility-end2end-kit.jar.
I am attempting to run this on Vista Home Premium. I have tried to run the IDE as Administrator with no luck.
I am at a loss for where to go next as I cannot seem to find any information regarding this issue. Even if you don't have the solution any insight into this error message would be helpful.
I am unable so far to get the project running via the Netbeans IDE install. I have, for the time being, installed the Java ME SDK which includes a very stripped down version of the Netbeans IDE for mobile development.
I originally had some issues starting the SDK as well on Vista. The IDE reported that it could not connect to the device manager on localhost. After some searching I found this link: Java ME SDK Startup Problem which suggests changing the hosts file localhost entry from IPv6 to IPv4. The fix worked perfectly and I can now compile and run code in the emulator.
This is not an optimal solution as the SDK does not include the visual design tools, however I am able to get a basic project going in the mean time.
I have given up on the 6.7 version and have instead located and installed 6.5.1. This previous version has been working just fine and seems to do everything I need.
I ran into the exact same error today while installing NB 6.8 beta. To resolve it we need to install two plugins:
Java Web Applications (as mentioned by Ali above) and
Sun Java System Web Server 7.0
Note that these two are part of the Category called "Java Web and EE" hence the confusion that we need to install Glassfish App Server. But we need these two plugins because they are required for debugging using breakpoints in emulator. Netbeans runs a web server when we do breakpoint based debugging.
Also note that the Java Web applications needs SOAP Web Services and JavaScript Debugger plugins to run and so these plugins are also installed when you try to install it.
You also need to install "Java Web Applications" plugin.
Tools->Plugins->Available Plugins
If the module is present, you should try unzipping it to check its content makes sense.
You should also be able to rebuild it from Netbeans sources.
You can also try to figure out why this happens by debugging the module loader inside Netbeans from its sources, using another IDE, presumably the latest version of Netbeans you can find without the issue.
If the module is missing, you might want to get the missing jar file from an installation of a previous version of Netbeans, see if it is compatible.
6.5.1 isn't missing any module.
back in version 5.5, the mobility module had to be downloaded and installed separately from the main IDE.
If you want to consider using Eclipse for developing your J2ME app...I've written a post related to that some time ago: here.

Resources