jboss-3.0.2 HTTP to JMX invoker - external client problem
jtccia1 Sep 10, 2002 8:21 PMHello:
When we use the HTTP to JMX invoker (in jboss-3.0.2), that allows for RMI/HTTP for the JNDI service, from the jboss-server machine it works fine; but when we try the same program from another computer it is unabled to get (cast) the RMI adaptor whith the following message
java.lang.reflect.UndeclaredThrowableException
at $Proxy0.lookup(Unknown Source)
It seems as if the invokerServletPath system property, could be obtained only when we are running the program on the jboss-server machine.
We tried setting the property without luck, may be we are missing something really silly?, like what?
Any help is very much appreciated.
Thanks very much.
Jaime Torres C.
Following is the code used and the execption;
Program code
import java.io.*;
import java.net.*;
import java.rmi.*;
import java.util.*;
import javax.management.*;
import javax.naming.*;
import com.techtrader.modules.tools.bytecode.BCEntity;
import org.jboss.jmx.connector.ConnectorFactoryImpl.*;
import org.jboss.jmx.connector.notification.ClientNotificationListener;
import org.jboss.jmx.connector.rmi.*;
import org.jboss.jmx.adaptor.rmi.*;
import org.apache.log4j.Priority;
import org.apache.axis.client.Call;
import org.apache.commons.logging.LogFactory;
import org.jboss.net.jmx.adaptor.*;
import org.jboss.net.jmx.*;
//import org.jboss.invocation.http.interfaces.*;
public class ConnectorEnlaceAPB{
String adaptorJNDIName="jmx:XXX:rmi";//as appears in jboss.jmx JNDIName
Hashtable env = new Hashtable();
String invokerServletPath = "http://my_jboss_server:8080/invoker/JMXInvokerServlet";
String initial_context = "org.jboss.naming.HttpNamingContextFactory";
Properties props;
String provider_url =
"http://my_jboss_server:8080/invoker/JNDIFactory";
RMIConnectorImpl server;
String url_pkg = "org.jboss.naming:org.jnp.interfaces";
public ConnectorEnlaceAPB(){
this.props = System.getProperties();
}
public void setServer(){
env.put(Context.INITIAL_CONTEXT_FACTORY,initial_context);
env.put(Context.URL_PKG_PREFIXES,url_pkg);
env.put(Context.PROVIDER_URL, provider_url);
props.put("invokerServletPath",invokerServletPath);
System.setProperties(props);
System.out.println("Modificado \n invokerServletPath="+
System.getProperty("invokerServletPath"));
try{
Context ic=new InitialContext(env);
System.err.println("ConnectorEnlaceAPB.setServer getEnviroment="+ic.getEnvironment()); //// works till here
RMIAdaptor adaptor =(RMIAdaptor)
(ic.lookup(
adaptorJNDIName)); /// crashes here
System.err.println("ConnectorEnlaceAPB.setServer adaptor="+adaptor.toString());
server= new RMIConnectorImpl(adaptor);
.....
.....
.....
.....
}
.....
.....
.....
.....
}
Crash message:
java.lang.reflect.UndeclaredThrowableException
at $Proxy0.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:445)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:429)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at jtccia.enlaceAPB.client.core.ConnectorEnlaceAPB.setServer(ConnectorEnlaceAPB.java:55)
at jtccia.enlaceAPB.client.core.ConsIdRegisAPBClient.makeRequest(ConsIdRegisAPBClient.java:393)
at jtccia.enlaceAPB.client.core.ConsIdRegisAPBClient.pasoJtcEvent(ConsIdRegisAPBClient.java:847)
at jtccia.common.SetXmlCompJtc.genEvento(SetXmlCompJtc.java:63)
at jtccia.common.SetXmlCompComm.navigaForwd(SetXmlCompComm.java:1117)
at jtccia.common.SetXmlCompComm.actionPerformed(SetXmlCompComm.java:971)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1767)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1820)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:258)
at java.awt.Component.processMouseEvent(Component.java:5021)
at java.awt.Component.processEvent(Component.java:4818)
at java.awt.Container.processEvent(Container.java:1380)
at java.awt.Component.dispatchEventImpl(Component.java:3526)
at java.awt.Container.dispatchEventImpl(Container.java:1437)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3214)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2929)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2859)
at java.awt.Container.dispatchEventImpl(Container.java:1423)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:295)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:161)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:148)
at java.net.Socket.connect(Socket.java:425)
at java.net.Socket.connect(Socket.java:375)
at sun.net.NetworkClient.doConnect(NetworkClient.java:139)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:366)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:582)
at sun.net.www.http.HttpClient.(HttpClient.java:292)
at sun.net.www.http.HttpClient.(HttpClient.java:253)
at sun.net.www.http.HttpClient.New(HttpClient.java:321)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:301)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:463)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:454)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:510)
at org.jboss.invocation.http.interfaces.HttpInvokerProxy.invoke(HttpInvokerProxy.java:93)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:108)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
... 32 more