webMethods

 View Only
Expand all | Collapse all

Java 17 SSL clients connecting to Universal Messaging

  • 1.  Java 17 SSL clients connecting to Universal Messaging

    Posted 21 days ago

    What is the recommended approach to resolve "REALM Unreachable" which occurs when a messaging client is JAVA17 based using SSL and the UM is 10.7 which is JAVA8 based? Does the problem occur because the nJMS and nClient jar files are not compatible with the class structure in JAVA17, if so will the 10.15 nClient and nJMS jar files resolve the problem or is 10.15 also non JAVA17 compatible. How to make it compatible. Can UM11.1 nClient and nJMS jar files be used to connect to 10.15... Is there a way of making 10.15 compatible with JAVA17



    ------------------------------
    Darin Edmunds
    ------------------------------


  • 2.  RE: Java 17 SSL clients connecting to Universal Messaging

    Posted 21 days ago

    Based on 10.15 UM documentation..."Universal Messaging enables both higher-release Java clients to connect to lower-release realm servers, and lower-release clients to connect to higher-release servers. The bi-directional client-server compatibility offers more flexible deployment strategies for both upgrades and daily operations, regardless of whether you are running higher-release clients, higher-release servers, or a mix. The functionality allows less release and upgrade planning between core components, resulting in faster deployments and less complexity in those deployments."

    It seems even in older versions if you have below fix (based on the version you are on) it will support this feature. I am suspecting the error you are noticing is not related to Java compatibility but something else because it seems you would get an unsupported operation exception if this was a Compatibility issue. See bottom of the screenshot below.

    Universal Messaging 10.3 Fix 26
    Universal Messaging 10.5 Fix 12
    Universal Messaging 10.7 Fix 4


    ------------------------------
    Akshith Arremreddy
    ------------------------------



  • 3.  RE: Java 17 SSL clients connecting to Universal Messaging

    Posted 21 days ago

    Thank you @akshish Arremreddy for you comments. 

    This is a remote application and it throws a com.pcbsys.nirvana.... error when trying to establish a connection over SSL. Given we copy the nClient.jar and nJMS.jar from the UM server to the client for inclusion I am wondering if these files are java sensitive? 

    Kind regards

    Darin Edmunds



    ------------------------------
    Darin Edmunds
    ------------------------------



  • 4.  RE: Java 17 SSL clients connecting to Universal Messaging

    Posted 21 days ago

    Be careful when doing so as this can result in an "UnsupportedClassfileVersion" Exception while using jars for i.e. Java 17 with Java 8.

    You can check the version by openening the jar with a zipping tool and have a look the META-INF/MANIFEST.MF file.

    Another way is to extract one of the class files and check it with an HEX Editor.

    The first 4 bytes will be the fixed value "CAFEBABE" and the next 2 bytes will contain the java version the class was compiled with in hex format.

    Regards,

    Holger



    ------------------------------
    Holger von Thomsen
    Software Developer
    Deutsche Telekom IT GmbH
    Darmstadt
    ------------------------------



  • 5.  RE: Java 17 SSL clients connecting to Universal Messaging

    Posted 21 days ago

    I have a customer who has similar setup. The remote Java application is deployed on IBM WAS and they use JMS(nJMS and nClient.jar files) to connect to UM but their Java version is 8.

    If you are receiving com.pcbsys.nirvana error it means, it is able to reach the UM but something else at Realm level is causing the connection to fail. You can start with below steps,

    1. Check if you have "*@*" under ACL tab of security in Enterprise Manager.
    2. Make sure you have Full access for above entry including Admin API.
    3. Increase the logging level to see what the underlying error message is.


    ------------------------------
    Akshith Arremreddy
    ------------------------------



  • 6.  RE: Java 17 SSL clients connecting to Universal Messaging

    Posted 21 days ago

    Thanks Holger and Akshish,

    It's interesting that the com.pcbsys.nirvana... error is a return value however there is no record of a connection attempt on the server side which has thrown me. I thought this might be part of the nirvana jars and associated  with the change to the SSL classes between 8 and 17. I'll try and dig a bit deeper to see if the server can yield any further info.



    ------------------------------
    Darin Edmunds
    ------------------------------



  • 7.  RE: Java 17 SSL clients connecting to Universal Messaging

    Posted 21 days ago

    I can confirm this is definitely a client side issue. Does anyone have access to 11.1 nJMS and nClient jar files? Our current implementation is WM10.15 and the java version is 17 (vendor approved upgrade) however the java version update has not affected the nJMS and nClient files hence i'm curious to try with the 11.1 version of the files (a platform founded on Java17 rather upgraded to).

    We put the UM into trace mode and witnessed no connection attempts. We put a spurious URL at the client side and got exactly the same error client side. We repeated with an earlier version of the client (pre Java17) and everything worked just fine.



    ------------------------------
    Darin Edmunds
    ------------------------------



  • 8.  RE: Java 17 SSL clients connecting to Universal Messaging

    Posted 19 days ago

    Hi Darin. The easiest way to get the v11 jars would be to download Service Designer 11: https://tech.forums.softwareag.com/t/webmethods-service-designer-11-0-preview-now-available-to-download-and-try-for-free/288342

    The jars will be in common\lib.

    Hope this helps,

    Theo



    ------------------------------
    Theo Ezell
    ------------------------------



  • 9.  RE: Java 17 SSL clients connecting to Universal Messaging

    Posted 17 days ago

    Thank you Theo, very much appreciated. 



    ------------------------------
    Darin Edmunds
    ------------------------------



  • 10.  RE: Java 17 SSL clients connecting to Universal Messaging

    Posted 16 days ago

    I have a 10.15 UM (Fix 22) and an IS with UM common library fix 22. I checked the nClient.Jar and nJMS.jar manifest files and it seems they are compiled on 1.7. I used the same jars and created a standalone Java package with run time set to Java 17. The connection seems to be working fine. I am suspecting you just need to apply the latest UM fix and that will bring in the latest jar files instead of downloading the version 11.

    Bundle-RequiredExecutionEnvironment: JavaSE-1.7
    Bundle-SymbolicName: com.pcbsys.nirvana.nJMS
    Bundle-Version: 10.15.0.0022-1252
    Created-By: 11.0.14.1 (Azul Systems, Inc.)
    DSTAMP: 20240919

    public class PublishToChannel {
    
    	protected static nSession mySession = null;
    	protected static nSessionAttributes nsa = null;
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		
    		 try {
    		      nsa = new nSessionAttributes("nsp://localhost:9000");
    		      System.out.println("Session attributes created.");
    		      mySession = nSessionFactory.create(nsa);
    		      System.out.println("Session created");
    		      mySession.enableThreading(4);
    		      
    		      mySession.init();
    		      System.out.println("Last session ID: "+mySession.getId());
    		      mySession.close();
    		      System.out.println("Session closed.");
    		    } catch (Exception ex) {
    		      System.out.println("Error creating Session Attributes. Please check your RNAME");
    		      System.exit(1);
    		    }
    	}
    
    }



    ------------------------------
    Akshith Arremreddy
    ------------------------------



  • 11.  RE: Java 17 SSL clients connecting to Universal Messaging

    Posted 16 days ago

    I used the nClient and nJMS jar files from the 11.1 designer (Thanks Theo) and added the jakarta.jms-api.jar file and we have success connecting, sending/receiving from a Java17 application to UM with latest fixes.

    Now we have it working (taking your point Akshith) we will regress the nClient and nJMS to the versions available post fix and try again. What I wasn't prepared for was using the jakarta.jms-api and again we will try other options now we have a working reference.

    Many thanks to everyone who contributed.

    Kind regards

    Darin Edmunds



    ------------------------------
    Darin Edmunds
    ------------------------------



  • 12.  RE: Java 17 SSL clients connecting to Universal Messaging

    Posted 16 days ago

    A further update to anyone interested:

    Our 3rd party Java17 client was configured to 11.1 nClient.jar and 11.1 nJMS.jar plus jakarta.jms-api-2-0-3.jar.  This configuration allows connectivity to UM10.15 (patched forward) AND 10.7.

    When the 11.1 jar files were replaced with the 10.15 (pre and post fix) nClient and nJMS jar files, we erred with "Realm unreachable"...

    Kind regards

    Darin Edmunds



    ------------------------------
    Darin Edmunds
    ------------------------------



  • 13.  RE: Java 17 SSL clients connecting to Universal Messaging

    Posted 16 days ago

    Hi @Darin Edmunds, I recommend you open a support case for it.

    UM 10.15 does support JAVA17 

    > https://documentation.softwareag.com/universal_messaging/num10-15/webhelp/num-webhelp/#page/num-webhelp%2Fco-relnotes1015_whats_new_2.html%23

    It say:

    Support for Java 17
    Starting with Universal Messaging 10.15 Fix 19, Universal Messaging supports both Java 17 and Java 11 as a runtime for the server, client, and sample applications components.
    So when you have this fix level installed, it should work. If not, this is a support case. 

    Best regards,
    Holm.


    ------------------------------
    Holm Steinland
    webmethods - New Product Introduction
    IBM
    Böblingen
    ------------------------------