[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