Since two of some well-known testing tools can not detect RMI packets
in the network, we have been forced to use HTTP Tunneling for testing
thick application clients. Since we could not find any documentation to
do this for v6.1, we followed the article for v5.1 given below:
Environment:
Server:
WAS 6.1, Network Deployment
Redhat Enterprise 4
Hibernate 3.0 with JPA and session beans are used.
Client:
Windows 2001,
IBM JDK,
Some jar files in client container to reach server
Thick Application client
When we run the application without tunneling, it works. And when we
use tunneling by specifying following properties on thick clients (also
setting FragmentSize as a custom property on server), user logins,
retrieves data. views data, but can not perform modifications. Our
method to verify the data before insert/update fails giving a
CORBA.COMM_FAILURE error.
com.ibm.CORBA.ForceTunnel=ALWAYS
com.ibm.CORBA.TunnelAgentURL=http://server:9080/HTTPTunnelWeb/IIOPTunnelServlet
com.ibm.CORBA.FragmentSize=0
Since it works without tunneling, I think that the problem is with
Websphere and/or tunneling. Has anyone come across a similar problem or
have an idea to resolve it.
Thank you very much,
Serkan Toprak
Error Messages on Server:
4.Kas.2006 17:35:32 com.milsoft.logger.LoggerImpl error
SEVERE: Uncaught exception:
java.lang.ThreadDeath
at java.lang.Thread.stop(Thread.java:991)
at
com.ibm.ws.orbimpl.transport.WSHTTPTransportConnection.removeConnection(WSHTTPTransportConnection.java:140)
at
com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1883)
at
com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:3036)
at
com.ibm.ws.orbimpl.transport.HTTPReaderThread.run(WSHTTPTransportConnection.java:448)
14.Kas.2006 17:35:32 com.milsoft.logger.LoggerImpl error
SEVERE: Uncaught exception:
com.milsoft.uigen.exception.ApplicationTemplateException
at
com.milsoft.uigen.service.RemoteSessionHandler.callEjbMethod(RemoteSessionHandler.java:111)
at
com.milsoft.uigen.service.RemoteSessionHandler.invoke(RemoteSessionHandler.java:141)
at $Proxy1.validateUniqueData(Unknown Source)
at
com.milsoft.gui.creator.editor.swing.GenericEditorGenerator.validateSwingData(GenericEditorGenerator.java:463)
at
com.milsoft.uigen.template.window.MainInternalEditorWindow.onSaveClick(MainInternalEditorWindow.java:277)
at
com.milsoft.app.common.gui.BaseInternalEditorWindow.actionPerformed(BaseInternalEditorWindow.java:402)
at
com.milsoft.app.common.gui.BaseActionListener.actionPerformed(BaseActionListener.java:48)
at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1879)
at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2199)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:450)
at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:288)
at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:264)
at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:263)
at java.awt.Component.processMouseEvent(Component.java:5529)
at
javax.swing.JComponent.processMouseEvent(JComponent.java:3148)
at java.awt.Component.processEvent(Component.java:5294)
at java.awt.Container.processEvent(Container.java:2001)
at java.awt.Component.dispatchEventImpl(Component.java:3996)
at java.awt.Container.dispatchEventImpl(Container.java:2059)
at java.awt.Component.dispatchEvent(Component.java:3844)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4249)
at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3929)
at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3859)
at java.awt.Container.dispatchEventImpl(Container.java:2045)
at java.awt.Window.dispatchEventImpl(Window.java:1810)
at java.awt.Component.dispatchEvent(Component.java:3844)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:545)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:268)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:197)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:191)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:183)
at
java.awt.EventDispatchThread.run(EventDispatchThread.java:144)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at
com.milsoft.uigen.service.RemoteSessionHandler.callEjbMethod(RemoteSessionHandler.java:107)
... 31 more
Caused by: java.rmi.MarshalException: CORBA COMM_FAILURE 0x4942f306
Maybe; nested exception is:
org.omg.CORBA.COMM_FAILURE: purge_calls:1844 Reason: CONN_ABORT
(1), State: ABORT (5) vmcid: IBM minor code: 306 completed: Maybe
at
com.ibm.CORBA.iiop.UtilDelegateImpl.mapSystemException(UtilDelegateImpl.java:248)
at javax.rmi.CORBA.Util.mapSystemException(Util.java:84)
at
com.milsoft.cdms.co.frmwrkapp._FrameworkBeanInterface_Stub.validateUniqueData(_FrameworkBeanInterface_Stub.java:893)
... 36 more
Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1844 Reason:
CONN_ABORT (1), State: ABORT (5) vmcid: IBM minor code: 306
completed: Maybe
at
com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1843)
at
com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:3036)
at
com.ibm.ws.orbimpl.transport.HTTPReaderThread.run(WSHTTPTransportConnection.java:448)
Cannot call EJB method.parameters=[Ljava.lang.Object;@32123212
class=class com.milsoft.cdms.co.frmwrkapp._FrameworkBeanInterface_Stub
globalMessage=appTempExc