77523

org.omg.CORBA.TRANSIENT: initial and forwarded IOR inaccessible vmcid: IBM minor code: E07 from stan

Question:

I'm connecting to the WebSphere instance from the stand-alone Java app which is quite trivial:

InitialContext initCtx = new InitialContext();

That code was working perfectly in WebSphere 7, but after updating to WebSphere 8.5 I got the following exception:

Caused by: org.omg.CORBA.TRANSIENT: initial and forwarded IOR inaccessible vmcid: IBM minor code: E07 completed: No at com.ibm.rmi.corba.ClientDelegate.createRequest(ClientDelegate.java:1276) at com.ibm.CORBA.iiop.ClientDelegate.createRequest(ClientDelegate.java:1457) at com.ibm.rmi.corba.ClientDelegate.createRequest(ClientDelegate.java:1164) at com.ibm.CORBA.iiop.ClientDelegate.createRequest(ClientDelegate.java:1423) at com.ibm.rmi.corba.ClientDelegate.request(ClientDelegate.java:1886) at com.ibm.CORBA.iiop.ClientDelegate.request(ClientDelegate.java:1379) at org.omg.CORBA.portable.ObjectImpl._request(ObjectImpl.java:458) at com.ibm.WsnBootstrap._WsnNameServiceStub.getProperties(_WsnNameServiceStub.java:38) at com.ibm.ws.naming.util.WsnInitCtxFactory.mergeWsnNSProperties(WsnInitCtxFactory.java:1441) ... 43 more

After research, I've fout out that <a href="http://www-01.ibm.com/support/docview.wss?uid=swg21614221" rel="nofollow">IBM support page</a>, which said to go to CSIv2 inbound and outbound settings (by me, Admin Console->Security->GlobalSecurity->RMI/IIOP security) and set the transport to SSL-Supported.

However, it didn't change anything. I've tried to change the 'Cleint certificate authentication' to Never, and Transport to TCP/IP for both CSIv2 inbound and outbound, but still without success. The error persisted until I've turned off 'Enable administrative security', which is not an option, because I need to enable 'Application Security' (the application logic depends of that).

How can I make my code working again? Everything was OK on WebSphere 7.

Answer1:

The error description

<blockquote> <blockquote>

org.omg.CORBA.TRANSIENT: initial and forwarded IOR inaccessible vmcid: IBM minor code: E07

</blockquote> </blockquote>

is very vague and happens under many, not directly connected circumstances.

In my case it had nothing to do with RMI/IIOP security settings, but it was a <strong>classpath problem</strong>. I was still using old version of com.ibm.ws.webservices.thinclient.

Switching to thinclient 8.5.0, as well as setting the launch JRE to standard (Oracle) JVM has fixed the problem.

Answer2:

My research on this issue may prove useful to others;

WebSphere 8 changed the default setting of RMI/IIOP SSL security from 'supported' to 'required'. If you want a secure connection you'll need to get the certs from the server and set Java system properties to files that specify the location of the certs;

<blockquote> com.ibm.CORBA.ConfigURL=file:/opt/IBM/JazzSM/profile/properties/sas.client.props com.ibm.SSL.ConfigURL=file:/opt/IBM/JazzSM/profile/properties/ssl.client.props </blockquote>

If this doesn't work, you'll need to start debugging by setting the following System properties;

<blockquote> com.ibm.CORBA.Debug=true com.ibm.CORBA.CommTrace=true com.ibm.CORBA.Debug.Output=/tmp/corba.log </blockquote>

By studying this log and orb trace logs in the working directory, I found that the client failed to establish an ephemeral TCP connection to the server at "port=0". No mention of SSL in the logs! I wrote a small app to test my code running as a java console app and found that the SSL connection was successful and it worked fine. By diff'ing the logs, I found that only in the good case, the JVM was finding a local file 'orb.properties'. I then found that in my problem case, my test app was using a different JVM and my real app was using a JVM that had no 'orb.properties'. I could resolve the problem in a number of ways .. e.g. by including an orb.properties in my application and injecting the contents as System properties.

Answer3:

In my case switching CSIV inbound to SSL-Supported from SSL-required <strong>and</strong> restarting the server helped.

Recommend

  • How to execute a Unix shell script via GWT?
  • How to set Context.INITIAL_CONTEXT_FACTORY? NoInitialContextException?
  • BPEL Designer for Eclipse: how to debug a BPEL process
  • how to replace string in SpEL expression?
  • ColdFusion with IIS URL Rewrite - Page never finishes loading
  • 3.0.0.M1: SSL - Invalid keystore format
  • Convert RSA pem key String to der byte[]
  • Why is django manage.py syncdb failing to create new columns on my development server?
  • Spring Integration Bridge with poller not working as expected for JMS
  • Local Development, Apache vs Developer - file permissions
  • Embedded Glassfish JPA Datasource connection fail
  • Changing Jupyter Notebook start up folder by modifying “start in” not working any more
  • Configure nginx to return different files to different authenticated users with the same URI
  • HttpListener.IsSupported is false on XP SP3
  • How to override value that appears in a dropdown in the rails_admin gem
  • Enabling DTD support in Sql Server
  • GAE: Way to get reference to an HttpSession from its ID?
  • Does Mobilefirst provide a provision to access web services directly?
  • Visual Studio 2010 debugger build correctly - compiler pdb and linker pdb not in synch?
  • How to get Eclipse Oxygen to run on Java 9
  • MailKit: The IMAP server replied to the 'EXAMINE' command with a 'BAD' response
  • Volusion's generic SQL folder, functionality
  • Menu Color Fade on Hover with Jquery
  • Can a Chrome extension content script make an jQuery AJAX request for an html file that is itself a
  • How to limit post in wp_query
  • Hazelcast - OperationTimeoutException
  • How to make Safari send if-modified-since header?
  • Upload files with Ajax and Jquery
  • Adding custom controls to a full screen movie
  • XCode can't find symbols for a specific iOS library/framework project
  • How to pass list parameters for each object using Spring MVC?
  • Proper way to use connect-multiparty with express.js?
  • How to set the response of a form post action to a iframe source?
  • Change div Background jquery
  • Qt: Run a script BEFORE make
  • reshape alternating columns in less time and using less memory
  • Observable and ngFor in Angular 2
  • How to Embed XSL into XML
  • UserPrincipal.Current returns apppool on IIS
  • Conditional In-Line CSS for IE and Others?