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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...