RMI over IIOP
Hi all...
I am now trying a program with RMI over IIOP. My server is behined a firewall and proxy and client will be running out side the network. So in this situation I want to allow this particular client through the proxy. I am not sure whether the Proxies like ISA, MS Proxy, Wingate, iPlanet and Apache proxy will allow IIOP protocol to route through the proxy. Also How can I ensure security? Does IIOP provides any security?
Please help me by giving some comments on this.
Any suggestions are appreciable.
regards,
Sankaran
Like in all normal RMI apps you will need open the firewall ports needed to communicate to the server on the firewall..
Similar Messages
-
Implicit context propagation from JSP/EJB to RMI over IIOP?
Is there a way to implicitly send information, such as a UID, over IIOP. We
don't want/need the overhead of transactions but would like to embed this
UID in all threads from where they started...through to other VMs on other
hosts. This is to be used for monitoring the application.
Any help would be greatly appreciated!!
ShaneShane wrote:
Does this get propagated to RMI servers as well...not just from EJB to EJB??Yes.
>
And, does using SSL create much extra overhead?Yes.
>
>
"Eduardo Ceballos" <[email protected]> wrote in message
news:[email protected]..
In WLS 6.0, you can use SSL. With SSL, the identity of the caller ispropagated along with the request.
Shane wrote:
Is there a way to implicitly send information, such as a UID, over IIOP.
We
don't want/need the overhead of transactions but would like to embedthis
UID in all threads from where they started...through to other VMs onother
hosts. This is to be used for monitoring the application.
Any help would be greatly appreciated!!
Shane -
Hi,
I read in the e-docs that WLE does not support transactions over IIOP, because
"the requirement for transaction propagation from the client is in question".
There is the OTS (currently, we are talking about version 1.2) out for quite a
while. Why exactly are transactions not supported? Will there be an OTS
conformant implementation in WLE in the near future?
My source is http://e-docs.bea.com/wls/docs61/rmi_iiop/API_rmi_iiop.html#1050737
"While RMI over IIOP does allow CORBA/IDL clients to access EJBeans, the
following services will not be available:
* EJB transaction services
* EJB security services"
Cheers,
Jörg
I think this may be coming in the next release or perhaps even a service pack.
Post to the "rmi-iiop" group for exact info.
Joerg Bartholdt wrote:
> Hi,
>
> I read in the e-docs that WLE does not support transactions over IIOP, because
> "the requirement for transaction propagation from the client is in question".
>
> There is the OTS (currently, we are talking about version 1.2) out for quite a
> while. Why exactly are transactions not supported? Will there be an OTS
> conformant implementation in WLE in the near future?
>
> My source is http://e-docs.bea.com/wls/docs61/rmi_iiop/API_rmi_iiop.html#1050737
> "While RMI over IIOP does allow CORBA/IDL clients to access EJBeans, the
> following services will not be available:
> * EJB transaction services
> * EJB security services"
>
> Cheers,
> Jörg
-
Hi,
I read in the e-docs that WLE does not support transactions over IIOP,
because "the requirement for transaction propagation from the client is
in question".
There is the OTS (currently, we are talking about version 1.2) out for
quite a while. Why exactly are transactions not supported? Will there be
an OTS conformant implementation in WLE in the near future?
My source is
http://e-docs.bea.com/wls/docs61/rmi_iiop/API_rmi_iiop.html#1050737
It says: "While RMI over IIOP does allow CORBA/IDL clients to access
EJBeans, the following services will not be available:
* EJB transaction services
* EJB security services"
Cheers,
MarcusMarcus Wittig <[email protected]> writes:
I read in the e-docs that WLE does not support transactions over IIOP,
because "the requirement for transaction propagation from the client
is in question".
There is the OTS (currently, we are talking about version 1.2) out for
quite a while. Why exactly are transactions not supported? Will there
be an OTS conformant implementation in WLE in the near future?You are referencing the WLS docs but refer to WLE, which is it you
want?
OTS will be supported in WLS 7.0. However, the JDK client does not
support OTS, so client-demarcated transactions (as opposed to
server-server) will still be problematic. We will almost certainly
provide the explict OTS bindings for clients so that it can be used
from C++ clients, however this is somewhat cumbersome for J2EE
clients.
andy -
What are the limitations of using RMI over http with EJB?
We have a requirement for an intranet application where the majority of the clients
(Swing clients) will be able to connect directly using either T3 or IIOP. However,
there are a number of clients that will need to traverse a firewall.
We could use SOAP, but I dont want to lose the value that RMI gives us (clustering,
security, statefullness support etc). I am thinking of using RMI over http - which
Weblogic supports.
I have been trying to find some documentation on the topic - but havent succeded
so far. What I would like to understand is: What limitations I would have using
RMI over http. Do I lose anything (apart from performance) using http?
Regards,
NickYou will have to enable tunneling on the server side and I have not heard of any
complaints of using it.
Shiva.
Nick Minutello wrote:
In fact, we are not using applets - and its not an internet application. We are
using Java Webstart and Swing on our intranet (the problem of the size of the
weblogic.jar is a pain - but well known)
The question for me is; Apart from performance, are there any limitations to using
RMI over http?
Can we also use JMS over http?
-Nick
Shiva Paranandi <[email protected]> wrote:
"Old wine new bottle".
The biggest problem with the approach of Applets like
stuff connecting to weblogic is the size of the classes that need to
be supplied to the
users. The applets/swing would need a lot of weblogic classes which you
need to
supply as jar file. This file can be in the order of MBs depending on
the
weblogic version. we had a similar kind of problem and migrated the applets
to use
servlets instead of directly invoking ejbs or jms topics etc. Having
the applets
connect
to servlets you would still benefit from the features of clustering etc.
and added to
that
you would reduce the number of remote calls.
Shiva.
Nick Minutello wrote:
We have a requirement for an intranet application where the majorityof the clients
(Swing clients) will be able to connect directly using either T3 orIIOP. However,
there are a number of clients that will need to traverse a firewall.
We could use SOAP, but I dont want to lose the value that RMI givesus (clustering,
security, statefullness support etc). I am thinking of using RMI overhttp - which
Weblogic supports.
I have been trying to find some documentation on the topic - but haventsucceded
so far. What I would like to understand is: What limitations I wouldhave using
RMI over http. Do I lose anything (apart from performance) using http?
Regards,
Nick -
Rmi over ssl in jdk1.5.0
hi,
i am trying to connect a remote machine with rmi over ssl. but i got the following exceptions;
java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
Caused by: javax.net.ssl.SSLKeyException: RSA premaster secret error
Caused by: java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/ECB/PKCS1Padding
Caused by: java.lang.IllegalArgumentException: can't support mode ECB
i am using jdk1.5.0. i have tried many samples but i have not run them successfully however they were running successfully in j2sdk1.4.2.
also i downloaded the bouncycastle provider but it did not work.
is there anybody who knows about a running sample about rmi and ssl in jdk1.5.0? please send me....
email: [email protected]Hi!
I know it's not the exactly right topic, but I've nearly the same problem with a https connection for a webService. I'm not using turkish locale, I'm using BouncyCastle and the "Unlimited Strength" policy files. I've no problems if i start my application with eclipse, starting it with jdk1.5.0_03\jre\bin\java or jre1.5.0_03\bin\java form commandline i get the same stacktrace:
javax.net.ssl.SSLKeyException: RSA premaster secret error
Caused by: javax.net.ssl.SSLKeyException: RSA premaster secret error
Caused by: java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/ECB/PKCS1Padding
Caused by: java.lang.IllegalArgumentException: can't support mode ECB
if i try to get the cipher with
Cipher c = Cipher.getInstance("RSA/ECB/PKCS1Padding");
I'll get the same stacktrace, with
Cipher c = Cipher.getInstance("RSA/ECB/PKCS1Padding", "BC");
i works fine, but I've no idea how to run this code out of axis...
Thanks & Regards
Helmut -
[Java 1.4.2] Rmi over SSL : bind/rebind hangs
Hello everybody,
I am trying to test client/server communication with RMI over an SSL layer, as explained here .
Here is my server class :
package rmitest.server;
import java.rmi.registry.*;
import java.rmi.*;
import rmitest.client.RMISSLClientSocketFactory;
import java.rmi.server.RMIClientSocketFactory;
import java.rmi.server.RMIServerSocketFactory;
import java.rmi.registry.LocateRegistry;
import java.rmi.server.*;
import java.io.IOException;
public class Hello extends UnicastRemoteObject implements HelloInterface
public Hello(RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
//super();
super(1099, csf, ssf);
System.out.println("Initialisation de Hello OK.");
public int sayHello()
try {
System.out.println("Hello, World !");
return 0;
catch (Exception e)
e.printStackTrace();
return 1;
public static void main(String[] args)
try
System.setSecurityManager(new RMISecurityManager());
RMIClientSocketFactory csf = new RMISSLClientSocketFactory();
RMIServerSocketFactory ssf = new RMISSLServerSocketFactory();
HelloInterface myHello = new Hello(csf, ssf);
Registry reg = LocateRegistry.getRegistry("lat203", 1099, csf);
reg.rebind("HelloInterface", myHello);
System.out.println("The server is ready.");
catch (RemoteException e)
e.printStackTrace();
catch (Exception e)
e.printStackTrace();
}My problem is, the program hangs in the rebind(...) instruction. Would anybody have a clue ?
Here is the stack just before it hangs :
{codeThread [main] (Stepping)
UnicastRef2(UnicastRef).newCall(RemoteObject, Operation[], int, long) line: 313
RegistryImpl_Stub.rebind(String, Remote) line: not available
Hello.main(String[]) line: 56
Thread [Thread-1] (Running) }Thank you by advance.
Edited by: le_barde on Oct 17, 2008 6:45 AMOk I settled that in the client socket factory. Here is what it looks like :
package com.infotel.rmitest.client;
import java.io.*;
import java.net.*;
import java.rmi.server.*;
import javax.net.ssl.*;
import sun.security.util.Debug;
public class RMISSLClientSocketFactory
implements RMIClientSocketFactory, Serializable {
public Socket createSocket(String host, int port)
throws IOException
SSLSocketFactory factory = (SSLSocketFactory)SSLSocketFactory.getDefault();
SSLSocket socket = (SSLSocket)factory.createSocket(host, port);
String[] strtab = {"TLSv1", "SSLv3"};
socket.setEnabledProtocols(strtab);
System.out.println("---> before handshake");
socket.startHandshake();
System.out.println("---> after handshake.");
return socket;
public int hashCode()
return getClass().hashCode();
public boolean equals(Object obj)
if (obj == this)
return true;
else if (obj == null || getClass() != obj.getClass())
return false;
return true;
}I haven't modified my Server socket factory.
The client still hangs but the messages are different as I have removed the SSLv2ClientHello :
>
(lots of trusted certificates...)
init context
trigger seeding of SecureRandom
done seeding SecureRandom
---> before handshake
%% No cached client session
*** ClientHello, TLSv1
RandomCookie: GMT: 1225125230 bytes = { 150, 101, 222, 255, 92, 207, 52, 204, 48, 37, 184, 89, 56, 39, 207, 230, 8, 210, 1, 235, 137, 48, 202, 242, 203, 4, 61, 91 }
Session ID: {}
Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA]
Compression Methods: { 0 }
[write] MD5 and SHA1 hashes: len = 73
0000: 01 00 00 45 03 01 49 06 ED 6E 96 65 DE FF 5C CF ...E..I..n.e..\.
0010: 34 CC 30 25 B8 59 38 27 CF E6 08 D2 01 EB 89 30 4.0%.Y8'.......0
0020: CA F2 CB 04 3D 5B 00 00 1E 00 04 00 05 00 2F 00 ....=[......../.
0030: 33 00 32 00 0A 00 16 00 13 00 09 00 15 00 12 00 3.2.............
0040: 03 00 08 00 14 00 11 01 00 .........
main, WRITE: TLSv1 Handshake, length = 73
(Here the client hangs; this is the point when I kill the JVM)>
Now my server output (I don't give the verbose certificates):
>
trigger seeding of SecureRandom
done seeding SecureRandom
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
* SERVER INITIALIZED *
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
Finalizer, called close()
Finalizer, called closeInternal(true)
Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
Finalizer, WRITE: TLSv1 Alert, length = 2
etc. -
What is the advantage of using RMI over socket connection
plz tell me guys what is the advantage of using RMI over socket connection bcoz inherently RMI also uses socket connection.so what is the exact difference in between thm and what is the advantage of using RMI over socket connection.
i knew tht bt i http://www.catb.org/~esr/faqs/smart-questions.html#writewell
How To Ask Questions The Smart Way
Eric Steven Raymond
Rick Moen
Write in clear, grammatical, correctly-spelled language
We've found by experience that people who are careless and sloppy writers are usually also careless and sloppy at thinking and coding (often enough to bet on, anyway). Answering questions for careless and sloppy thinkers is not rewarding; we'd rather spend our time elsewhere.
So expressing your question clearly and well is important. If you can't be bothered to do that, we can't be bothered to pay attention. Spend the extra effort to polish your language. It doesn't have to be stiff or formal in fact, hacker culture values informal, slangy and humorous language used with precision. But it has to be precise; there has to be some indication that you're thinking and paying attention.
Spell, punctuate, and capitalize correctly. Don't confuse "its" with "it's", "loose" with "lose", or "discrete" with "discreet". Don't TYPE IN ALL CAPS; this is read as shouting and considered rude. (All-smalls is only slightly less annoying, as it's difficult to read. Alan Cox can get away with it, but you can't.)
More generally, if you write like a semi-literate b o o b you will very likely be ignored. So don't use instant-messaging shortcuts. Spelling "you" as "u" makes you look like a semi-literate b o o b to save two entire keystrokes. -
Hi, I'm new to this forum and fairly new to Java. I'm trying to run RMI from an applet, it works fine on the LAN but has problems externally due to firewalls. I'm now trying to set up RMI over HTTP to negate this problem but cannot find the Java-RMI.CGI script anywhere. I'm using J2SDK1.4.0, if anyone knows where to get this and how to configure it for IIS5 I would be most gratefull.
The following is an example of java-rmi.cgi in Unix
#!/bin/sh
# This file handles rmi requests to download RMI code
# The work is done by the class:
# sun.rmi.transport.proxy.CGIHandler
# This class supports a QUERY_STRING of the form
# "forward=<port>" with a REQUEST_METHOD of "POST"
# The body of the request will be forwarded to the server (
# as aPOST request) to the port given in the URL. The response
# will be returned to the orginal requester.
# Set the path to include the location of the jdk to run
PATH=/opt/java/bin:$PATH
java \
-DAUTH_TYPE=$AUTH_TYPE \
-DCONTENT_LENGTH=$CONTENT_LENGTH \
-DCONTENT_TYPE=$CONTENT_TYPE \
-DDOCUMENT_ROOT=$DOCUMENT_ROOT \
-DGATEWAY_INTERFACE=$GATEWAY_INTERFACE \
-DHTTP_ACCEPT="$HTTP_ACCEPT" \
-DHTTP_CONNECTION=$HTTP_CONNECTION \
-DHTTP_HOST=$HTTP_HOST \
-DHTTP_USER_AGENT="$HTTP_USER_AGENT" \
-DPATH_INFO=$PATH_INFO \
-DPATH_TRANSLATED=$PATH_TRANSLATED \
-DQUERY_STRING=$QUERY_STRING \
-DREMOTE_ADDR=$REMOTE_ADDR \
-DREMOTE_HOST=$REMOTE_HOST \
-DREMOTE_IDENT=$REMOTE_IDENT \
-DREMOTE_USER=$REMOTE_USER \
-DREQUEST_METHOD=$REQUEST_METHOD \
-DSCRIPT_NAME=$SCRIPT_NAME \
-DSERVER_NAME=$SERVER_NAME \
-DSERVER_PORT=$SERVER_PORT \
-DSERVER_PROTOCOL=$SERVER_PROTOCOL \
-DSERVER_SOFTWARE=$SERVER_SOFTWARE \
sun.rmi.transport.proxy.CGIHandler -
When trying to serialize java5 enum types over iiop (e.g. using the wlogic.jar client), you'll get a Mismatched serialization UIDs-exception (tested with WLS 10.3). This derives from a known bug or an omission in the java5 specification. There's a good description here, unfortunately in german only:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6277781
You can either use weblogic.jar to avoid IIOP or overwrite the default serializer class as a workaround. But I would like to know if the issue is already adressed at Oracle and if there will be a fix in the near future.
Regards,
ThomasNo information on this issue?
-
JMS over iiop -- org.omg.CORBA.UNKNOWN
I have simple java client which tries to lookup a jms QueueConnectionFactory
over iiop .
The code is
ht.put(
Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.cosnaming.CNCtxFactory" );
ht.put( Context.PROVIDER_URL,"iiop://222.222.222.222:1111" );
ctx = new InitialContext( ht );
qConnectionFactory = (QueueConnectionFactory) ctx.lookup( "My queue con
factory"); < -- this line cause a
org.omg.CORBA.UNKNOWN: minor code: 0 completed: Maybe
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:237)
at
com.sun.corba.se.internal.iiop.ReplyMessage.getSystemException(ReplyMessage.
java:93)
at
com.sun.corba.se.internal.iiop.ClientResponseImpl.getSystemException(ClientR
esponseImpl.java:83)
at
com.sun.corba.se.internal.corba.RequestImpl.doInvocation(RequestImpl.java:32
1)
at com.sun.corba.se.internal.corba.RequestImpl.invoke(RequestImpl.java:223)
at org.omg.CosNaming._NamingContextStub.resolve(_NamingContextStub.java:156)
at com.sun.jndi.cosnaming.CNCtx.callResolve(CNCtx.java:368)
at com.sun.jndi.cosnaming.CNCtx.lookup(CNCtx.java:417)
at com.sun.jndi.cosnaming.CNCtx.lookup(CNCtx.java:395)
at javax.naming.InitialContext.lookup(InitialContext.java:350)
at Jms.<init>(Jms.java:75)
at Jms.main(Jms.java:22)
Anybody know if looking up JMS con factories is ok on iiop in WLs61sp2 ?
Thanks"golibaar" <[email protected]> writes:
JMS over IIOP is not supported, not required by the spec and will not work.
This is a WLS 7.1 feature.
andy
I have simple java client which tries to lookup a jms QueueConnectionFactory
over iiop .
The code is
ht.put(
Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.cosnaming.CNCtxFactory" );
ht.put( Context.PROVIDER_URL,"iiop://222.222.222.222:1111" );
ctx = new InitialContext( ht );
qConnectionFactory = (QueueConnectionFactory) ctx.lookup( "My queue con
factory"); < -- this line cause a
org.omg.CORBA.UNKNOWN: minor code: 0 completed: Maybe
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:237)
at
com.sun.corba.se.internal.iiop.ReplyMessage.getSystemException(ReplyMessage.
java:93)
at
com.sun.corba.se.internal.iiop.ClientResponseImpl.getSystemException(ClientR
esponseImpl.java:83)
at
com.sun.corba.se.internal.corba.RequestImpl.doInvocation(RequestImpl.java:32
1)
at com.sun.corba.se.internal.corba.RequestImpl.invoke(RequestImpl.java:223)
at org.omg.CosNaming._NamingContextStub.resolve(_NamingContextStub.java:156)
at com.sun.jndi.cosnaming.CNCtx.callResolve(CNCtx.java:368)
at com.sun.jndi.cosnaming.CNCtx.lookup(CNCtx.java:417)
at com.sun.jndi.cosnaming.CNCtx.lookup(CNCtx.java:395)
at javax.naming.InitialContext.lookup(InitialContext.java:350)
at Jms.<init>(Jms.java:75)
at Jms.main(Jms.java:22)
Anybody know if looking up JMS con factories is ok on iiop in WLs61sp2 ?
Thanks -
ClassLoader problems over IIOP
I'm currently porting our application from WebSphere to WebLogic and I have got the following issue concerning class loading on the client side:
org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 211 completed: Maybe
at com.sun.corba.se.impl.logging.ORBUtilSystemException.valuehandlerReadException(ORBUtilSystemException.java:6500)
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1045)
at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
at com.j2fe.general.interfaces._RegistryBeanRemote_Stub.getFacade(Ljava.lang.String;)Lcom.j2fe.general.HibernateFacade;(Unknown Source)
at com.j2fe.ui.base.model.GSApplication.setAdditionalFacadeProxies(GSApplication.java:505)
at com.j2fe.ui.base.model.GSApplicationServerConnectionParser$1.run(GSApplicationServerConnectionParser.java:289)
at javax.security.auth.Subject.doAs(Subject.java:337)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:118)
at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
at com.j2fe.ui.base.model.GSApplicationServerConnectionParser.createApplication(GSApplicationServerConnectionParser.java:320)
at com.j2fe.ui.base.jobs.ConnectAndParseJob.run(ConnectAndParseJob.java:97)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.sun.corba.se.impl.io.ObjectStreamClass.readResolve(ObjectStreamClass.java:316)
at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:403)
at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
... 10 more
Caused by: java.lang.reflect.InvocationTargetException
at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
at com.sun.corba.se.impl.io.ObjectStreamClass.readResolve(ObjectStreamClass.java:314)
... 14 more
Caused by: java.lang.ClassNotFoundException
at weblogic.iiop.ProxyDesc.readResolve(ProxyDesc.java:47)
... 17 more
Caused by: java.lang.IllegalArgumentException: interface com.j2fe.general.HibernateFacade is not visible from class loader
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:345)
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:564)
at weblogic.iiop.ProxyDesc.readResolve(ProxyDesc.java:45)
... 17 more
Is it a problem for WebLogic to transfere Proxy classes over IIOP? The com.j2fe.general.HibernateFacade-interface is available on client side and can be loaded by the application class loader (which is an Eclipse application).
The strange thing is that it's possible to do a Class.forName with that class immediately before and after the EJB-call which should get that proxy class from the server.Thomas Brandl <> writes:
Proxy is only supported in 9.x, this looks like a trace from 8.1
andy
I'm currently porting our application from WebSphere to WebLogic and I have got the following issue concerning class loading on the client side:
org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 211 completed: Maybe
at com.sun.corba.se.impl.logging.ORBUtilSystemException.valuehandlerReadException(ORBUtilSystemException.java:6500)
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1045)
at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
at com.j2fe.general.interfaces._RegistryBeanRemote_Stub.getFacade(Ljava.lang.String;)Lcom.j2fe.general.HibernateFacade;(Unknown Source)
at com.j2fe.ui.base.model.GSApplication.setAdditionalFacadeProxies(GSApplication.java:505)
at com.j2fe.ui.base.model.GSApplicationServerConnectionParser$1.run(GSApplicationServerConnectionParser.java:289)
at javax.security.auth.Subject.doAs(Subject.java:337)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:118)
at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
at com.j2fe.ui.base.model.GSApplicationServerConnectionParser.createApplication(GSApplicationServerConnectionParser.java:320)
at com.j2fe.ui.base.jobs.ConnectAndParseJob.run(ConnectAndParseJob.java:97)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.sun.corba.se.impl.io.ObjectStreamClass.readResolve(ObjectStreamClass.java:316)
at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:403)
at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
... 10 more
Caused by: java.lang.reflect.InvocationTargetException
at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
at com.sun.corba.se.impl.io.ObjectStreamClass.readResolve(ObjectStreamClass.java:314)
... 14 more
Caused by: java.lang.ClassNotFoundException
at weblogic.iiop.ProxyDesc.readResolve(ProxyDesc.java:47)
... 17 more
Caused by: java.lang.IllegalArgumentException: interface com.j2fe.general.HibernateFacade is not visible from class loader
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:345)
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:564)
at weblogic.iiop.ProxyDesc.readResolve(ProxyDesc.java:45)
... 17 more
Is it a problem for WebLogic to transfere Proxy classes over IIOP? The com.j2fe.general.HibernateFacade-interface is available on client side and can be loaded by the application class loader (which is an Eclipse application).
The strange thing is that it's possible to do a Class.forName with that class immediately before and after the EJB-call which should get that proxy class from the server. -
RMI over SSL under Web Start can't find trusted certificate
I have implemented RMI over SSL to get a Java EJB Client application talking to a JRun server over SSL. It works fine from the command line, but when I try to run it as a Web Start application, I get
java.security.cert.CertificateException: Couldn't find trusted certificate
(More complete stack trace below)
I am using a test certificate, not one from a bona fide CA.
I have tried putting the key store file in one of the jars used by the application, and adding:
<argument>-Djavax.net.ssl.trustStore=jssecacerts</argument>
and
<argument>-Djavax.net.ssl.trustStore=jar:http://ip/app/xxx/lib/JarWithCacs.jar!/jssecacerts</argument>
to no avail.
If I copy the jssecacerts to Web Start's jre/lib/security directory, it works fine.
I have seen other postings that say to use keytool to update the JRE used by Web Start, but that kind of defeats the purpose of Web Start: zero admin client. I can't touch each user's machine.
I have seen other posts saying to implement a more relaxed trust manager, but that doesn't seem right either.
I am using JDK 1.4.1_02b6 on Win2k. This should be irrelevant: JRun 4 sp1a.
Is there a way to specify the jssecacerts file in the jnlp file so Web Start will recognize it?
Thanks for any help,
JohnI think I have an answer:
1) Package the truststore file in the client JAR file
2) Add code to the client to copy the truststore from the JAR file to the client hard drive
3) Add code to the client to set the truststore properties to refer to the file on the client hard drive
<<code>>
private void setupTrustStore() {
try {
// save truststore file to local disk
File homeDir = new File(System.getProperty("user.home"));
File trustStoreFile = new File(homeDir, "mytruststore");
URL url =
this.getClass().getClassLoader().getResource("mytruststore");
BufferedInputStream in =
new BufferedInputStream(url.openStream());
BufferedOutputStream out =
new BufferedOutputStream(new FileOutputStream(trustStoreFile));
while(true) {
int data = in.read();
if(data < 0) break;
out.write(data);
in.close();
out.flush();
out.close();
// set truststore properties
System.setProperty("javax.net.ssl.trustStore",
trustStoreFile.getPath());
System.setProperty("javax.net.ssl.trustStorePassword", "mypasswd");
} catch(Exception e) {
e.printStackTrace();
} -
hi,
may i know that what is the difference b/w rmi and iiop "some one told me that it is the marrige form b/w RMI and CORBA"
please explain me or give me a link to explanation.
thanks in advance!http://java.sun.com/j2se/1.3/docs/guide/rmi-iiop/
-
RMI over HTTP: configuration
Hi,
I have a very basic RMI server that needs to be accesed from outside our network. There is a firewall that controls the access to the network. RMI server does not use any kind of callbacks or any other strange stuff.
What do I need to configure in order to make it work?
Thanks in advance
Jorge Ortiz ClaverNo I'm not using it through a firewall -- which is what rmi-over-http is touted for. Http works in the 10.1.3 standalone preview, but there seems to be a new httpS authentication mechanism. I think it was using Oracle's wallet or something.
received a nice little exception when reading the server keystore (created/self-signed w/ java keytool)
oracle.oc4j.security.ExchangingEncryptor$EncryptionException
at oracle.oc4j.security.ExchangingEncryptor.getDecryptedValue(ExchangingEncryptor.java:84)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) - Developer Preview 4].server.rmi.TunnelledRmiServlet.readKeyExchangeCredentials(TunnelledRmiServlet.java:115)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) - Developer Preview 4].server.rmi.TunnelledRmiServlet.authenticate(TunnelledRmiServlet.java:100)
Caused by: javax.crypto.BadPaddingException: Given final block not properly padded
at com.sun.crypto.provider.SunJCE_h.b(DashoA12275)
at com.sun.crypto.provider.SunJCE_h.b(DashoA12275)
at com.sun.crypto.provider.DESCipher.engineDoFinal(DashoA12275)
at javax.crypto.Cipher.doFinal(DashoA12275)
at oracle.oc4j.security.ExchangingEncryptor.getDecryptedValue(ExchangingEncryptor.java:70)
... 20 more
Maybe you are looking for
-
Decision service deployment issue
If I create a simple decision service based on the CreditRating rules repository, and I deploy it, my decide actvity fails with the following error: <operationErroredFault xmlns="http://xmlns.oracle.com/BPELProcess1/DecisionService"> - <part name="pa
-
Implementing UCES in SAP ISU- IDES system
Hi, We are interested to implement UCES in SAP ISU - IDES system which we have for our internal competency and Customer POCs/Demos. ( ECC 6 with ISU) Could any body please share their experience or knowledge on this, that would be of very helpfull. M
-
Can't close apps in IS07.02 - swipe up just doesn't work
-
Hi All, Can not Bin to Bin ...getting error message Can't explain why this is not working....may be because base unit is kg's? This is material that has been returned to us. The bin is the Delivery number (xxxxxxxxx) , but when try to take out the
-
Multiple column sorting in JTable
There is way to release multiple column sorting in JTable. ADF/SWing, Jdev 10.1.3