Marshalling in Rmi

Before data/object are to be transmitted it has to be marshalled,Where and who does the marshalling|?
I am new to JAVA please help me out
Abhishek Asthana
[email protected]

RMI does the marshalling for you. All you have to do is call the remote method and make sure the objects you pass and return are serializable.

Similar Messages

  • Question about argument marshalling with RMI.

    Hello guys,
    I recently started an RMI-related project and successfully implemented this technology, but at some point I created this interface on the server
    package xyz;
    import somePackage.SomeClass ;
    public interface A extends Remote{
    public void methodA( SomeClass x ) throws RemoteEx; //SomeClass is implementing interface A
    and exported it to the RemoteReg folowing standard RMI procedure.
    The problem came when i tried to pass a instance of SomeClass to methodA from the corresponding object retrived from the registry, got myself a nice
    java.rmi.MarshalException: error marshalling arguments; nested exception is:
         java.io.NotSerializableException: somePackage.SomeClass
    The question is: can't RMI pass arguments as shown previously or it's my implementation faulty?
    //ofc i could send the vars needed and create the SomeClass instance on the server but maybe it can be done this way too.

    Well the .class on the client implemented Serialize, while the .class from the server didn't(this being the only difference).So in other words 'yes, I had different versions of the .class file at the server and the client'.
    So in theory they might get different serialVersionsUID due to this discrepancyNo, in theory one of them isn't Serializable, so either the sender or the receiver is going to throw an exception of some kind.
    You have to deploy the same .class file at both ends (until you get into Versioning), and they certainly both have to implement Serializable. They also both have to have the same serialVersionUID, which you should hard-code into the class now.

  • 2 RMI Questions:"RMI and Marshalling" and...........

    Hi,
    Its not a programming Q. but its a conceptual Q. In all most all the websites related to RMI, I have seen refrence of Marshalling in the context of data encoding. In socket programming, we also do data transfer but there is no Marshalling? What is the reason of Marshalling in RMI? Is it because of Java to Java communication and for socket we use TCP/IP so we leave the Marshalling to the Network Interface Card??
    Zulfi.

    Thanks for your reply. Ok Marshalling is clear but I have to run a program and then we will discuss more about Marshalling. However after reading the doc specially about stubs
    The caller invokes a method on the local stub which is responsible for carrying out the method call on the remote object.
    In one other doc, I read the samething about dispatcher. Each machine has a local dispatcher . The client communicates with local dispatcher which then communicates with remote dispatcher and then returns a communication channel back to client via local dispatcher. So is it that these stubs and skeletons are basically the dispatcher component?
    In one other doc., http://cs.gmu.edu/~setia/cs571/slides/rmi-proj.pdf , I found that there is no dispatcher component on the client side? Which is correct?
    Zulfi.

  • Error with get(Home)Handle

    Hello
    i have deployed an ejb on the sun one server and l can invoke all the methods i need on this EJB . But when i try to invoke the method getHandle or getHomeHandle or getEJBMetaData, i have this error on the server : (this error is with getHandle but it is the same with the two others methods)
    org.omg.CORBA.BAD_OPERATION: The delegate has not been set! vmcid: 0x0
    minor c
    ode: 0 completed: No
    at org.omg.CORBA.portable.ObjectImpl._get_delegate(ObjectImpl.java:53)
    at com.sun.corba.ee.internal.iiop.CDROutputStream_1_0.write_Object(CDROu
    tputStream_1_0.java:571)
    at com.sun.corba.ee.internal.iiop.CDROutputStream.write_Object(CDROutput
    Stream.java:227)
    at com.sun.org.omg.CORBA.IDLTypeHelper.write(IDLTypeHelper.java:70)
    at com.sun.org.omg.CORBA.ValueMemberHelper.write(ValueMemberHelper.java:
    140)
    at com.sun.org.omg.CORBA.ValueMemberSeqHelper.write(ValueMemberSeqHelper
    .java:83)
    at com.sun.org.omg.CORBA.ValueDefPackage.FullValueDescriptionHelper.writ
    e(FullValueDescriptionHelper.java:193)
    at com.sun.org.omg.SendingContext._CodeBaseImplBase._invoke(_CodeBaseImp
    lBase.java:85)
    at com.sun.corba.ee.internal.corba.ServerDelegate.dispatch(ServerDelegat
    e.java:379)
    at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:275)
    at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProces
    sor.java:83)
    at com.iplanet.ias.corba.ee.internal.iiop.ServicableWrapper.service(Serv
    icableWrapper.java:25)
    at com.iplanet.ias.util.threadpool.FastThreadPool$ThreadPoolThread.run(F
    astThreadPool.java:283)
    at java.lang.Thread.run(Thread.java:536)
    and on the client :
    java.rmi.MarshalException: CORBA MARSHAL 1398079699 Maybe; nested exception
    is:
    org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : Can't
    skip sender's custom marshaled class:
    RMI:com.sun.ejb.portable.HandleImpl:7969D1B587E037EF:27329270E7B1269F
    vmcid: SUN minor code: 211 completed: Maybe
    at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemException
    (ShutdownUtilDelegate.java:97)
    at javax.rmi.CORBA.Util.mapSystemException(Util.java:65)
    at Test02Stub.getHandle(Unknown Source)
    at Test01.main(Test01.java:48)
    Caused by: org.omg.CORBA.MARSHAL: Unable to read value from underlying
    bridge : Can't skip sender's custom marshaled class:
    RMI:com.sun.ejb.portable.HandleImpl:7969D1B587E037EF:27329270E7B1269F
    vmcid: SUN minor code: 211 completed: Maybe
    at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value
    (CDRInputStream_1_0.java:944)
    at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_abstract_interface
    (CDRInputStream_1_0.java:850)
    at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_abstract_interface
    (CDRInputStream_1_0.java:842)
    at com.sun.corba.se.internal.iiop.CDRInputStream.read_abstract_interface
    (CDRInputStream.java:309)
    at Test02Stub.getHandle(Unknown Source)
    ... 1 more
    It seems that there is a probleme with serialization ...
    I have the same JDK on the server and on the client.
    Can someone explain me please the problem ?
    Thank you very mutch
    olivier

    Hi,
           For advanced search view, you should manually specify the super class to your view controller as the advanced search controller class. I'm not exactly sure what the name is, but you can find it out from the standard search view components. Do not pick the immediate super class from the standard components, dog through and pick the basic advanced search controller. This class will contain the methods that you mentioned.
    Regards,
    Arun Prakash

  • How to run a client in j2ee

    Hi Guys,
    I have successfully created a bean and deployed it in J2EE server. My next step according to the head first ejb is to create a client. I compiled AdviceClient successfully (Thanks to grava). However when I try to run the compiled class I get the following error:
    C:\projects\advice>java AdviceClient
    javax.naming.CommunicationException: Can't find SerialContextProvider
    at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.jav
    a:63)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:120
    at javax.naming.InitialContext.lookup(InitialContext.java:350)
    at AdviceClient.go(AdviceClient.java:16)
    at AdviceClient.main(AdviceClient.java:10)
    Could you please tell me what is going on?
    The following is the class ActiveClient:
    import javax.naming.*;
    import java.rmi.*;
    import headfirst.*;
    import javax.rmi.*;
    import javax.ejb.*;
    public class AdviceClient{
    public static void main (String[] args){
    new AdviceClient().go();
    public void go(){
    try{
    Context ic=new InitialContext();
    Object o=ic.lookup("Advisor");
    AdviceHome home=(AdviceHome) PortableRemoteObject.narrow(o, AdviceHome.class);
    Advice advisor=home.create();
    System.out.println(advisor.getAdvice());
    }catch (Exception ex){
    ex.printStackTrace();
    Kind regards,
    Al

    Hi,
    When running client, in my previous attempts, the j2ee server was not running. However when I run the server the following error messages appear:
    C:\projects\advice>java AdviceClient
    javax.naming.CommunicationException: java.rmi.MarshalException: CORBA MARSHAL 13
    98079699 Maybe; nested exception is:
    org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : Custom marshaling of RMI:java.lang.Throwable:F8678B4F4D2EB705 5C635273977B8CB not
    compatible with local class (local class not custom marshal capable) minor code
    : 1398079699 completed: Maybe
    org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : Custom mars
    haling of RMI:java.lang.Throwable:F8678B4F4D2EB705 5C635273977B8CB not compatible with local class (local class not custom marshal capable) minor code: 139807
    9699 completed: Maybe
    at com.sun.corba.ee.internal.iiop.CDRInputStream_1_0.read_value(CDRInput
    Stream_1_0.java:1083)
    at com.sun.corba.ee.internal.iiop.CDRInputStream.read_value(CDRInputStre
    am.java:296)
    at org.omg.stub.com.sun.enterprise.naming._SerialContextProvider_Stub.lo
    okup(Unknown Source)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:120
    at javax.naming.InitialContext.lookup(InitialContext.java:350)
    at AdviceClient.go(AdviceClient.java:16)
    at AdviceClient.main(AdviceClient.java:10)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:138
    at javax.naming.InitialContext.lookup(InitialContext.java:350)
    at AdviceClient.go(AdviceClient.java:16)
    at AdviceClient.main(AdviceClient.java:10)
    I appreciate any attempts to solve this problem.
    Kind regards,
    Al

  • Returning Rowset From Remote Server Error

    I'm currently trying to pass a rowset back to my client application via RMI. I keep getting a "java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.io.EOFException" message. It works fine if I pass a String object. I can pass a rowset if I use localhost rather than my remote server. Any help would be greatly appreciated. Thank you.

    I had this very same problem. The problem is that ResultSet (from java.sql.*) is not Serializable, and cannot be marshalled via RMI (i.e. sent back down the pipe). String, int and Boolean all work. RowSet is abstract and cannot be initialised. The best subclass of RowSet I've found is CachedRowSetImpl, which inherits all the standard RowSet attributes and methods.
    You will need to download the JAR containing "com.sun.rowset" from here:
    http://java.sun.com/developer/earlyAccess/jdbc/jdbc-rowset.html
    ... then take the "rowset.jar" file and place it somewhere your IDE can find it (I placed mine here: C:\Program Files\Java\jdk1.5.0_01\jre\lib\ext). Under NetBeans, you can enter the Platform Manager (Tools) and force NetBeans to see it. Then the command:
    import com.sun.rowset.*;
    ...will allow you to create CachedRowSetImpl objects with the simple constructor:
    CachedRowSetImpl myCRS = new CachedRowSetImpl( );
    You can populate a CRS with the command:
    myCRS.populate(existingResultSet);
    Hope this was helpful.
    JGI

  • Minor Code not sure what it means

    I get the following Marshal exception, can anybody explain what the problem is?
    weblogic.jms.common.JMSException: CORBA MARSHAL 1398079699 Maybe; nested exception is:
         org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : Can't skip sender's custom marshaled class: RMI:java.lang.Throwable:F8678B4F4D2EB705:D5C635273977B8CB vmcid: SUN minor code: 211 completed: Maybe
         at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:372)
         at weblogic.jms.client.JMSConnection.setClientID(JMSConnection.java:503)
    Caused by: java.rmi.MarshalException: CORBA MARSHAL 1398079699 Maybe; nested exception is:
         org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : Can't skip sender's custom marshaled class: RMI:java.lang.Throwable:F8678B4F4D2EB705:D5C635273977B8CB vmcid: SUN minor code: 211 completed: Maybe
         at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemException(Unknown Source)
         at javax.rmi.CORBA.Util.mapSystemException(Unknown Source)
         at weblogic.jms.dispatcher._DispatcherImpl_Stub.dispatchSyncFuture(_DispatcherImpl_Stub.java:104)
         at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:339)
         ... 6 more
    Caused by: org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : Can't skip sender's custom marshaled class: RMI:java.lang.Throwable:F8678B4F4D2EB705:D5C635273977B8CB vmcid: SUN minor code: 211 completed: Maybe
         at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(Unknown Source)
         at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(Unknown Source)
         at weblogic.jms.dispatcher._DispatcherImpl_Stub.dispatchSyncFuture(_DispatcherImpl_Stub.java:95)
         ... 7 more

    It's not one of the normal easy setups but you can create a custom one that will work for those situations.
    Read up on creating custom presets. Just be aware that there is no 32/12 available but 32/16 works fine.
    If you wish to stay in the 48/16 world, you can unlink your 32/12 audio, export your audio only, resample it in QT Pro, Soundtrack Pro or another audio editor (eg Peak) to 48/16 and bring it back into FCP. Once back in, relink it to the video and life is good.
    x

  • Strange corba exception

    Hello,
    Our application uses only local interfaces til yesterday.
    Then I need to return some of our entity classes through remote interfaces, but then comes the following:
    In the session bean, I return a "filled" User instance, but the client only gets an "empty" one (all fields are null).
    [#|2010-06-08T15:12:33.047+0200|WARNING|sun-appserver2.1|javax.enterprise.resource.corba.ee._CORBA_.rpc.encoding|_ThreadID=22;_ThreadName=httpSSLWorkerThread-8080-0;<<Context:ReaderWriter[value(de.studiorga.api.users.vo.User)]:de.studiorga.api.users.vo.User.currentCourse,de.studiorga.api.coursemanagement.vo.Course.admin,de.studiorga.api.users.vo.User.birthday,java.util.Date>>;_RequestID=3b22825d-181f-45d4-beda-5101d2974cb2;|"IOP00800007: (MARSHAL) Unsupported RMI/IDL custom value type stream format<<Context:ReaderWriter[value(de.studiorga.api.users.vo.User)]:de.studiorga.api.users.vo.User.currentCourse,de.studiorga.api.coursemanagement.vo.Course.admin,de.studiorga.api.users.vo.User.birthday,java.util.Date>>"
    org.omg.CORBA.MARSHAL:   vmcid: OMG  minor code: 7 completed: Maybe
         at com.sun.corba.ee.impl.logging.OMGSystemException.unsupportedFormatVersion(OMGSystemException.java:2653)
         at com.sun.corba.ee.impl.logging.OMGSystemException.unsupportedFormatVersion(OMGSystemException.java:2667)
         at com.sun.corba.ee.impl.io.IIOPInputStream.readFormatVersion(IIOPInputStream.java:279)If I set the User -> Course relationship (User.currentCourse) to null, I get following exception at the next relationship:
    [#|2010-06-08T16:50:35.809+0200|WARNING|sun-appserver2.1|javax.enterprise.resource.corba.ee.S1AS-ORB.rpc.encoding|_ThreadID=19;_ThreadName=httpSSLWorkerThread-8080-0;64;<<Context:ReaderWriter[value(de.studiorga.api.users.vo.User)]:de.studiorga.api.users.vo.User.userSettings>>;_RequestID=19515e8f-6f06-4b6b-a969-8d4d96cc6114;|
    "IOP00810230: (MARSHAL) Bad valuetag 64 found while reading repository IDs<<Context:ReaderWriter[value(de.studiorga.api.users.vo.User)]:de.studiorga.api.users.vo.User.userSettings>>"
    org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 230 completed: Maybe
         at com.sun.corba.ee.impl.logging.ORBUtilSystemException.badValueTag(ORBUtilSystemException.java:9030)
         at com.sun.corba.ee.impl.logging.ORBUtilSystemException.badValueTag(ORBUtilSystemException.java:9045)
         at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRepositoryIds(CDRInputStream_1_0.java:955)Does anybody know, what this means? I've searched the internet, bot does not find anything that helps.
    All classes have serialVersionUID's set.
    The application is running on jdk6. I've tried to switch to jdk5, but without success.
    If needed, I can try to paste relevant code parts.
    Hope somebody can help
    Dirk
    Edited by: Freak.2k on Jun 8, 2010 3:03 PM

    The problem is not at the entities classes.
    If I look the service up from an external application, I get the current result.
    But if I look call it from another web application (in the same glassfish), I get the above exception.
    Could the lib distribution be the cause of the problem?
    MyApp.ear
    - lib/myapp-api.jar
    - myapp-ejb.jar
    - myapp-web.jar
    Service-web.war
    - Web-inf/lib/myapp-api.jar
    The myapp-api.jar (in ear/lib/) containts the remote interfaces and the entity classes) and the myapp-impl.jar containts the session bean implementations
    The Service-web.war has its own copy of the api.jar.
    The exception above comes, when using the services from the impl.jar in the service webapp.
    Edited by: Freak.2k on Jun 8, 2010 10:26 PM

  • Java.rmi.MarshalException: error marshalling arguments

    I've two class Client and Main. Eventnotify is implemented in class Client using RMI techniques. Here is sample
    public interface EventNotify extends Remote {
    void SendNotification (String str) throws RemoteException;
    public class Client implements EventNotify {
         //implementation of EventNotify
         public void SendNotification(String str) {
         System.out.println("from srver: ..." +str);
    class Main {
    public static void main(String[] args) {
    Client clnt = new Client();
    int val = stub.register_client(host, clnt); //THE ERROR IS HERE
    The idea is to pass remote objects from client to a server. I've a server program running continously, but the problem is on passing objects of type Client. I'm facing marshaling problem.
    AND THE ERROR IS
    Client exception: java.rmi.MarshalException: error marshalling arguments; nested exception is:
         java.io.NotSerializableException: Client
    java.rmi.MarshalException: error marshalling arguments; nested exception is:
         java.io.NotSerializableException: Client
         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:156)
         at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:195)
         at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:149)
         at $Proxy0.register_client(Unknown Source)
         at Main.main(Client.java:74)
    Thanks for helping.
    Caused by: java.io.NotSerializableException: Client
         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1173)
         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:343)
         at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:292)
         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:151)

    Probably I have a similar problem while calling remote object's method with parameter looks like that :
    public class ParamClass extends AbstractParamClass implements Runnable,
            java.io.Serializable {
        private NodeList field1; // part of crimson's tree
        private NamedNodeMap field2 = null;// part of crimson's tree
    public class RmiRemote extends AbstractRemote  { // Remote Object Class
    @Override
    public  Object remoteMethod1() throws RemoteException{
    ParamClass param = new  ParamClass("build with crimson");
    CustomInterface stub = (CustomInterface) registry.lookup(name);
    stub.callRemoteMethod(param); // exception here
    java.rmi.MarshalException: error marshalling arguments; nested exception is:
            java.io.NotSerializableException: org.apache.crimson.tree.AttributeSet
            at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:138)
            at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178)when I build param object with xerces - no exception occurs . Other methods of remote object doing well. Remote object extends AbstractRemote superclass derived from UnicastRemoteObject. How can I avoid this problem and call method with crimson's tree fields parameter?
    Thank you.

  • RMI Marshalling Problem:  weblogic.Admin PING

    WebLogic 5.1.0 with service pack 8 has been installed on a HPUX server. I'm
    trying to ping the server from an NT box, but I'm getting some RMI
    marshalling problems.
    Here is the command that I run on NT:
    C:\weblogic\jre1_2\jre\bin\java -classpath
    c:weblogic/lib/weblogic510sp.jar;c:/weblogic/classes;c:/weblogic/lib/weblogi
    caux.jar weblogic.Admin t3://HPServer:7001 PING > MarshallingProblem.txt
    Here is what is in MarshallingProblem.txt (modified server name):
    Failed to connect to t3://HPServer:7001 due to:
    [weblogic.rmi.UnexpectedException: Marshalling:
    - with nested exception:
    [weblogic.rjvm.PeerGoneException:
    - with nested exception:
    [weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Exception
    creating response stream ] - with nested exception:
    [java.io.InvalidClassException:
    weblogic.security.acl.internal.AuthenticatedUser; Local class not
    compatible: stream classdesc serialVersionUID=6699361079932480379 local
    class serialVersionUID=2825328378974757378]]]]
    I previously had similar problems pinging the server from the server itself
    until I included the servicepack in the classpath.
    Anyone have any idea what going on in this situation?
    Cameron Taggart

    Cameron
    Can you test with sp8 installed on your NT machine too ? And also make
    sure you set the classpath with the sp8 jar files on NT before you run
    weblogic.Admin PING
    Raj Alagumalai
    Cameron Taggart wrote:
    WebLogic 5.1.0 with service pack 8 has been installed on a HPUX server. I'm
    trying to ping the server from an NT box, but I'm getting some RMI
    marshalling problems.
    Here is the command that I run on NT:
    C:\weblogic\jre1_2\jre\bin\java -classpath
    c:weblogic/lib/weblogic510sp.jar;c:/weblogic/classes;c:/weblogic/lib/weblogi
    caux.jar weblogic.Admin t3://HPServer:7001 PING > MarshallingProblem.txt
    Here is what is in MarshallingProblem.txt (modified server name):
    Failed to connect to t3://HPServer:7001 due to:
    [weblogic.rmi.UnexpectedException: Marshalling:
    - with nested exception:
    [weblogic.rjvm.PeerGoneException:
    - with nested exception:
    [weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Exception
    creating response stream ] - with nested exception:
    [java.io.InvalidClassException:
    weblogic.security.acl.internal.AuthenticatedUser; Local class not
    compatible: stream classdesc serialVersionUID=6699361079932480379 local
    class serialVersionUID=2825328378974757378]]]]
    I previously had similar problems pinging the server from the server itself
    until I included the servicepack in the classpath.
    Anyone have any idea what going on in this situation?
    Cameron Taggart

  • Java.rmi.MarshalException: error marshalling return;

    Hi All,
    I'm getting the above error whilst performing a query. My set up is,
    Kodo 3.1.5
    Weblogic 8.1
    I have created some classes using the reverse mapping from Sybase,
    enhanced them and uploaded them to my server. I have then attempted to
    retrieve the data via an EJB. However I get NotSerializableExceptions
    whilst doing so.
    I am attempting to return a Collection of enhanced objects, but even a
    single enhanced object throws that error
    I think it may be something to do with my package.jdo or something else.
    Can anyone help?
    My package.jdo looks like this,
    <?xml version="1.0" encoding="UTF-8"?>
    <jdo>
    <package name="com.lehman.clientseg.data">
    <class name="AuditRecord" objectid-class="AuditRecordId"/>
    <class name="Btb" objectid-class="BtbId"/>
    <class name="CashActivity" objectid-class="CashActivityId"/>
    <class name="CashBulk" objectid-class="CashBulkId"/>
    <class name="CcyTypeIndicator" objectid-class="CcyTypeIndicatorId">
    <field name="descn">
    <extension vendor-name="kodo" key="jdbc-size" value="-1"/>
    </field>
    </class>
    <class name="Counterparty" objectid-class="CounterpartyId"/>
    <class name="Currency" objectid-class="CurrencyId"/>
    <class name="DealType" objectid-class="DealTypeId"/>
    <class name="DeliveryInstruction"
    objectid-class="DeliveryInstructionId"/>
    <class name="Entity" objectid-class="EntityId"/>
    <class name="MonitoredEvent" objectid-class="MonitoredEventId"/>
    <class name="PaymentType" objectid-class="PaymentTypeId"/>
    <class name="Sequence" objectid-class="SequenceId"/>
    <class name="SettlementMode" objectid-class="SettlementModeId"/>
    </package>
    </jdo>
    and here is the stack trace,
    java.rmi.MarshalException: error marshalling return; nested exception is:
    java.io.NotSerializableException: com.lehman.clientseg.data.Entity
    at
    weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:284)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
    at
    com.lehman.clientseg.server.ejb.JDOBean_1a5ozo_EOImpl_812_WLStub.getAllEntities(Unknown
    Source)
    at com.lehman.clientseg.BeanTest.<init>(BeanTest.java:49)
    at com.lehman.clientseg.BeanTest.main(BeanTest.java:62)
    Caused by: java.io.NotSerializableException:
    com.lehman.clientseg.data.Entity
    at
    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
    at
    java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
    at java.util.LinkedList.writeObject(LinkedList.java:681)
    at sun.reflect.GeneratedMethodAccessor157.invoke(Unknown Source)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at
    java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:795)
    at
    java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1294)
    at
    java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1245)
    at
    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
    at
    java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
    at
    weblogic.common.internal.ChunkedObjectOutputStream.writeObject(ChunkedObjectOutputStream.java:116)
    at
    weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:93)
    at
    com.lehman.clientseg.server.ejb.JDOBean_1a5ozo_EOImpl_WLSkel.invoke(Unknown
    Source)
    at
    weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
    at
    weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
    at
    weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
    at
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
    at
    weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
    at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
    at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

    Abe White wrote:
    Looks like you're trying to serialize a class that's not serializable,
    probably by returning it (or a class that has a relation to it) from an EJB.Very strange. My classes where autogenerated using the reverse mapping
    tool and weren't serializable. I'm sure I once did make them serializable
    and I got more error messages. I just tried again and everything was fine.
    Hmmm... Must be going mad.
    Cheers,
    Stevie :)

  • Using Applets and RMI on WL6 - Error marshaling transport header; nested exception is:  - java.io.EOFException

    I have a project that I am porting from WL5.1 to WL6. It was working fine
    in WL5.1
    but cannot get it working in WL6. So, I went back to the HelloWorld
    example to
    see if I could get it working. The problem I am having is basically getting
    applet to
    talk to a server via RMI. The applet works fine alone and RMI works fine
    alone.
    I can't get the applet to talk to the server via RMI.
    I am trying to get the "HelloWorld" applet example in WL6 working with RMI.
    I previously had the same app working in WL5.1 with SP9 but cannot get it
    working in WL6.
    I am running WebLogic Server 6.0 with SP2.
    I have registered a startup class in the WebLogic console
    named "HelloServer". When starting up the server, it states
    that the HelloImpl class has been registered as "HelloServer".
    When starting up the client applet I get the following error:
    java.rmi.MarshalException: Error marshaling transport header; nested
    exception is:
    java.io.EOFException
    These are two different methods of looking up the same object.
    The exception occurs at the "lookup" method call in both cases.
    "myserver" is the name of my machine that WL is running on.
    7001 is the port that WL is using.
    Registry reg = LocateRegistry.getRegistry("myserver", 7001);
    obj = (Hello)reg.lookup("HelloServer");
    or...
    obj = (Hello)weblogic.rmi.Naming.lookup("rmi://" +
    getCodeBase().getHost() + ':' + port + "/HelloServer");
    I previously ran this same program under WL5.1 SP9 and everything works
    fine.
    I defined the startupClass in the weblogic.properties file in WL5.1
    Can anyone tell my what is causing this exception and how to correct the
    problem?
    Thanks
    Terry Antle

    "Terry Antle" <[email protected]> writes:
    These are two different methods of looking up the same object.
    The exception occurs at the "lookup" method call in both cases.
    "myserver" is the name of my machine that WL is running on.
    7001 is the port that WL is using.
    Registry reg = LocateRegistry.getRegistry("myserver", 7001);
    obj = (Hello)reg.lookup("HelloServer");
    or...
    obj = (Hello)weblogic.rmi.Naming.lookup("rmi://" +
    getCodeBase().getHost() + ':' + port + "/HelloServer");
    I previously ran this same program under WL5.1 SP9 and everything works
    fine.
    I defined the startupClass in the weblogic.properties file in WL5.1
    Can anyone tell my what is causing this exception and how to correct the
    problem?I don't know what the problem is but you shouldn't be using either of
    these methods for looking up RMI objects - you should use JNDI instead.
    Thanks
    andy

  • Java.rmi.MarshalException: CORBA MARSHAL

    I am getting the following exception when server is sending response back to client:
    Caused by: java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.octagonresearch.viewpoint.client.proxy.weblogic.ClientProxyEjb.invoke(ClientProxyEjb.java:97)
         ... 13 more
    Caused by: java.rmi.MarshalException: CORBA MARSHAL 0 Maybe; nested exception is:
         org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: Maybe
         at com.sun.corba.se.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:197)
         at javax.rmi.CORBA.Util.mapSystemException(Util.java:67)
         at com.octagonresearch.viewpoint.server.biztier.ws._SessionControllerWSRemote_Stub.invoke(Unknown Source)
         ... 18 more
    Caused by: org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: Maybe
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
         at java.lang.Class.newInstance0(Class.java:355)
         at java.lang.Class.newInstance(Class.java:308)
         at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:897)
         at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:99)
         at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:572)
         at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:432)
         at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:326)
         at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:129)
         at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
    Any idea how to get rid of this problem. Thank you.

    Hi,
    I am not very sure whether it will work but I have read somewhere that this exception occurs if the Remote Object size is more than the Java stack size at the client side which is by default 256 Kb. So. it might be possible that if the Stub size exceeds, then Client is not able to load the Stubs and hence the Marshal Exception is coming.
    I think increasing the Java stack size of the Web\ EJB containers might resolve the issue.

  • Java.rmi.MarshalException: CORBA MARSHAL 0[Error unmarshaling value [Error

    Hello,
    I'm here to ask this question.
    Let me describe the problem.
    I have a EJB call that can be excute use Struts Action class(just a general Java class).
    When I call this EJB in other Java class method then have below errors.
    Any body has any idea what's this error means? Thanks in advance!!
    java.rmi.MarshalException: CORBA MARSHAL 0[Error unmarshaling value [Error unmarshaling value [Error unmarshaling value [Error unmarshaling value [unknown protocol: calligo]]]]]
         at java.lang.reflect.Constructor.newInstance(Native Method)

    You must be more precise about the problem. Explain how your CORBA ORB is related to your EJBs or your RMI code, and WHO calls WHOM. We simply dont know what you're talking about.

  • Java.rmi.MarshalException : CORBA MARSHAL 1398079699

    I deployed an application with a stateless SessionBean
    in J2EE 1.3.
    When accessed from a non-java client using JNI, I got InvocationTargetException
    "java.rmi.MarshalException : CORBA MARSHAL 398079699 Maybe;
    nested exception is: org.omg.CORBA.MARSHAL: minor code: 1398079699 completed: Maybe"
    Anybody encountered a similar problem ?

    Hi,
    I think i have exactly the same problem as you. I have a client app accessing a stateless session bean .
    The error I get seems to be related to the argument passed to the method i'm calling. In my application I am passing in a "complicated" value object to the session bean. My guess is that the value object is not compliant with the CORBA rules.
    I'm trying to find out what is and isn't legal for Value Objects. the least i know is that the value object must implement Serializable.
    I'll keep you posted If i can sort it out.

Maybe you are looking for

  • Decode with select

    Hi Experts, I have a pl/sql query where there is a decode statement. Now currently the decode statement is - decode(GcsEntryHeadersEO.DISABLED_FLAG, 'Y', 'deleteicon_disabled.gif', 'deleteicon_enabled.gif') But I want to change it to such a condition

  • Is there programmatic control over Java control panels

    We have users who may not be able to (or we may not want them to) change their JRE settings. Anyone know if there is a way to deselect the browser JRE option in each version of the Java control panel? We'd like to do it programmatically.

  • IPhone 4S Out of Warranty Screen smashed then fixed but now Faults.

    Hi Recently My Iphone 4S Warranty Expired the screen got cracked but then i fixed it my self now it has a tone of faults i allways have No Service no matter were i am and My iphone is 64gb and the website doesnt sell them anymore Would Apples Out Of

  • EmbeddedLDAP BEA-171526 Error loading initial replica file, attempting

    After add a new XACML policy following the steps described in [1] I get the following error after restart a managed server. > <02/08/2012 16h35min03s BRT> <Error> <EmbeddedLDAP> <BEA-000000> <Error adding entry: >cn=urn@Lbea@[email protected]@Lentitlement@

  • The NTVDM CPU has encountered an illegal instruction

     Hello, I have a problem with my laptop. Once I sign into Windows I get this error message: C:\Windows\system32\userinit.exe The NTVDM CPU has encountered an illegal instruction. CS:11d8 IP:0109 OP: ff ff ff 90 be choose 'Close' to terminate the appl