[jboss-user] [Remoting] - https with path and ejb3 can not be configured

rino_salvade do-not-reply at jboss.com
Mon Apr 16 04:09:39 EDT 2007


We're running an EJB3 application within JBoss4.0.5 GA. Since EJB3 uses Remoting as a basis I place this question here
We would like to make this application accessible from the outside through a reverse proxy, that allows only https to be passed. The best thing would be to have both services (jndi and ejb3) sitting behind the same url path, so that the client could use something like this:
  https://myserver:8443/myapplication/jnid
  https://myserver:8443/myapplication/ejb

It was no problem to make the jndi part accessible like this, there is plenty of documentation and samples.

However I'm stuck with the ejb part

My first approach was to go for the sslservlet as described in the Remoting documentation. I realized then that JBoss 4.0.5 comes with JBoss Remoting 1.4.3 which does not support the sslservlet.
So I changed the libraries and stumbled then over the issue of JBES-1141, EJBProxy does not call Client.connect. I tried to fix that in the source code for a short  while but ended with a null pointer exception in HTTPSClientInvoker.createSocketFactory

So I went back to JBoss Remoting 1.4.3 to use the https approach. The idea was to have somthing like

  https://myserver:port1/myapplication/jndi
  https://myserver:port2/myapplication/ejb

Not perfect but close.

I was able to get the https version running ut only without the path, i.e. https://myserver:port2

Then I tried the approach with the InvokerLocator to get the path in. To my understanding to make it work I have to set different parameters in the url for the initialitzazion (SSLImplementation, serverSocketFactory).
Unfortunately the value for the serverSocketFactory contains a ":" since it is a mbean name. This seems to disturb the parsing of the url (yes, I added CDATA). To my understanding this is because the parser code looks for the last occurence of ":".
I patched the 1.4.3 version to solve that (strangely enough the version from CVS contains less files than the one distributed with JBoss4.0.5GA)

This results now in an exception in an excetion in the org.jboss.remoting.transport.coyote.ssl.RemotingServerSocketFactory.init saying that the mbean server is null.

My last try to go with the invoker attribute failed because it is not possible to add a path to the serverBindAddress parameter.

Any help to get the path in is very much appreciated.

Sorry for the long and maybe a little confuse description, but it was a long night ;-)

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4037447#4037447

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4037447



More information about the jboss-user mailing list