hello und sorry for my poor english...
i have got some questions concerning EJB3 and Remoting. i am using JBoss 
4.2.2.GA and i am trying to access EJB3s through HTTP. 

the use case:
i have my application deployed on JBoss and my application should get accessed 
by clients from LAN and over the internet. lets say, JBoss is running on 
machine A, then there is a machine B within the LAN which knows machine A as 
192.168.1.58, and there is a machine C which connects over the internet and 
knows machine A as 217.18.182.49.
additionally i am not allowed to open too much ports, so i want to use just 
port 8080 and access my EJBs through servlets. machine B than could use 
192.168.1.58:8080 to communicate to jboss, machine C could use 
217.18.182.49:28086 and would get redirected to the internal address of machine 
A (192.168.1.58:8080).

the solution:
i started with http://wiki.jboss.org/wiki/Accessing_EJB3s_over_HTTP_HTTPS that 
told me to* configure web containers (deploy/jboss-web.deployer/server.xml),
  | * configure servlets (deploy/servlet-invoker.war/WEB-INF/web.xml),
  | * configure EJB 3.0 connector 
(deploy/ejb3.deployer/META-INF/jboss-service.xml). and
  | * add 
@RemoteBinding(clientBindUrl="servlet://host:port//servlet-invoker/ServerInvokerServlet")
 to all of my beans i want to access remotely.i followed the instructions and 
yes, it seems to work: after i deployed the ServerInvokerServlet and i 
configured the EJB 3.0 Connector, especially the "Configuration"-attribute 
including clientConnectAddress and clientConnectPort, my client tried to 
connect to the external address (217.18.182.49:28086) and threw some 
ConnectionException (org.jboss.remoting.transport.http.WebServerError, 
"Connection refused"). so my configuration is correct, i guess.

the question(s):
there still is a problem with the clientConnectAddress. for sure, external 
clients could be able to communicate with my application (machine A), because 
JBoss tells the clients (machine C) to connect to the external address. but 
what about machine B? machine B gets told from JBoss to connect to the external 
address, too. but machine B does not even know this address.

some weeks ago i got this all working for EJB 2.1. i deployed and configured 
some servlets (JMXInvokerServlet, EJBInvokerServlet, HTTPServerILServlet) and 
the EJBContainer. there was a similar problem: i had to static declare the URLs 
for the servlet invokers.
i then found a solution in not declaring static URLs, but using system 
properties for the InvokerURLs. i now can set the system properties in my 
client application to switch between external and internal address (i just try 
to connect to the external address and use the internal in case of an error).

i understand that JBoss has to tell the clients where to connect to. but in 
some cases JBoss does not know this address, because there are at least two 
possibilities: one internal (LAN) and one external (redirected). so what is the 
solution in this situation?

i could imagine to solve my issue if* it is possible to avoid the static 
declaration of clientConnectAddress of the EJB 3.0 Connector and to modify the 
declaration before the client uses the wrong address. but am i able to set the 
clientConnectAddress within the client by myself?
  | * i could configure two invokers (EJB 3.0 Connector), one for 
transport="socket" and one for transport="servlet", using sockets for internal 
clients and servlets for external clients. but how can i tell the client which 
invoker to use if i neither do want to develop different EJBs nore do want to 
use different JNDI-names for different Invokers?
  | * i would know about any another solutions for my problem...
thanks in advance for your ideas, hints and information.
robert

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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4160241
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to