WS - "java.rmi.MarshalException: (1)Missing end tag for Body or Envelope"

HI All,
I'm new of this forum but I really hope you could help me solving the problem I have to connect Web Services and midlets.
Somehow my configuration works with some services I've found online but when I invoke very simple services deployed on my server(s) I always have "java.rmi.MarshalException: (1)Missing end tag for Body or Envelope" exception"
Let me add some more information to the problem:
System Configuration:
- JBoss (but I also tried axis) - standard installation (http/1.1)
- WTK 2.5 (but I also tried 2.2) - standard installation
- I tried "trusted" and "untrusted" security configuration of the servlet
- Netbeans IDE 5.0 (to create both Midlets and WS)
- WS uses document/literal as expected by JSR 172
The midlet is created with no problems but at the time of invocation the server throws the above exception (which is part of rmi. remoteException)
By monitoring the network both at client and server side I noticed that the information received is chuncked after 768 bytes. However, If the (soap) reponse is less than such value, I still have the error.
Using Http/1.1. at the mobile side, the service does not return me anything (0kb) while if I set the mobile device to http/1.0, I get the above error.
I really have to make the midlet running so any type of help will be really appreciated!!
Thanks in advance

Hi all,
as many developers I have encountered the famous "java.rmi.MarshallException:(1)Missing end tag for Body or Envelope" during the development of my WS app for J2ME (JSR 172).
It is correct that is the empty tag <soapenv:Header /> causing this error.
To fix this error, it is necessary to stop the server to generate this empty header in the response stream.
I have fixed this error for Axis2: unfortunaly it is necessary to modify a class in Axiom library. This library is used in Axis2 to produce the SOAP response, you can download the source code at http://ws.apache.org/commons/axiom/source-repository.html.
Here the class to modify:
axiom\modules\axiom-impl\src\main\java\org\apache\axiom\soap\impl\llom\soap11\SOAP11Factory.java
by commenting the line 273 in the method called getDefaultEnvelope() to prevent the empty header insertion in SOAP response:
public SOAPEnvelope getDefaultEnvelope() throws SOAPProcessingException {
        OMNamespace ns =
                new OMNamespaceImpl(
                        SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI,
                        SOAP11Constants.SOAP_DEFAULT_NAMESPACE_PREFIX);
        SOAPEnvelopeImpl env = new SOAPEnvelopeImpl(ns, this);
        //createSOAPHeader(env); the line to be commented
        createSOAPBody(env);
        return env;
    }Finally you have to recompile Axiom using Maven to obtain the fixed package axiom-impl.jar and to replace this package on the lib repository of your Axis2 server.
A little tricky to fix this bug but now my app runs perfectly ;)
Enjoy!
Romain Pellerin
http://www.gasp-mobilegaming.org

Similar Messages

  • MarshalException: Missing end tag for body or Envelop

    Hi, I am new at this, pls advise.
    I have been trying to code a 'hello world' that returns a string, as below.
    //==================
    package simple;
    public class HelloWorld{
    public String sayHello() {
    return "hello";
    //===================
    and my buil.xml looks like this
    //===================
    <project name="simple" default ="all">
    <property file="../properties.txt"/>
    <property name="temp_dir" value="tmp_build" />
    <target name="all" depends="clean,ear,deploy" />
    <target name="clean" >
    <delete dir="${classDir}/tutorial/simple" />
    <delete file="${appDir}/simple.ear" />
    <delete dir="${temp_dir}" />
    <delete file="client.jar" />
    </target>
    <target name="build" depends="ear" />
    <target name="ear" >
    <delete dir="${temp_dir}" />
    <mkdir dir="${temp_dir}" />
    <mkdir dir="${temp_dir}/WEB-INF" />
    <mkdir dir="${temp_dir}/WEB-INF/classes" />
    <javac srcdir="." includes="HelloWorld.java"
    destdir="${temp_dir}" />
    <servicegen
    destEar="simple.ear"
    warName="simple.war"
    contextURI="simple">
    <service
    javaClassComponents="simple.HelloWorld"
    targetNamespace="http://examples/simple"
    serviceName="Echo"
    serviceURI="/HelloWorld"
         generateTypes="True"
    expandMethods="True"
    style="document">
    <client
    packageName="tutorial.simple.client"
    clientJarName="client.jar"
    />
    </service>
    <classpath>
    <pathelement path="${temp_dir}"/>
    <pathelement path="${java.class.path}"/>
    </classpath>
    </servicegen>
    </target>
    <target name="deploy">
    <copy file="simple.ear" todir="${appDir}"/>
    </target>
    </project>
    //======================
    I manage to deploy and run the service on weblogic through the browser. Next, when I try to run it on Java Wirelesss Tookit. I get a "MarshalException: Missing end tag for Body or Evelop" error.
    I basically used the stub generator from WTK and use them as below
    //====================
    try {
    String str = service.sayHello();
    System.out.println( str );
    } catch (Exception e) {
    e.printStackTrace();
    //=====================
    I have no problem running other examples, just this one which i coded on my own. Can anyone pls enlightent me :)

    Hi all,
    as many developers I have encountered the famous "java.rmi.MarshallException:(1)Missing end tag for Body or Envelope" during the development of my WS app for J2ME (JSR 172).
    It is correct that is the empty tag <soapenv:Header /> causing this error.
    To fix this error, it is necessary to stop the server to generate this empty header in the response stream.
    I have fixed this error for Axis2: unfortunaly it is necessary to modify a class in Axiom library. This library is used in Axis2 to produce the SOAP response, you can download the source code at http://ws.apache.org/commons/axiom/source-repository.html.
    Here the class to modify:
    axiom\modules\axiom-impl\src\main\java\org\apache\axiom\soap\impl\llom\soap11\SOAP11Factory.java
    by commenting the line 273 in the method called getDefaultEnvelope() to prevent the empty header insertion in SOAP response:
    public SOAPEnvelope getDefaultEnvelope() throws SOAPProcessingException {
            OMNamespace ns =
                    new OMNamespaceImpl(
                            SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI,
                            SOAP11Constants.SOAP_DEFAULT_NAMESPACE_PREFIX);
            SOAPEnvelopeImpl env = new SOAPEnvelopeImpl(ns, this);
            //createSOAPHeader(env); the line to be commented
            createSOAPBody(env);
            return env;
        }Finally you have to recompile Axiom using Maven to obtain the fixed package axiom-impl.jar and to replace this package on the lib repository of your Axis2 server.
    A little tricky to fix this bug but now my app runs perfectly ;)
    Enjoy!
    Romain Pellerin
    http://www.gasp-mobilegaming.org

  • WT 2.5 / WT 2.5.2 - Web Services problem - Missing end tag??

    Hi,
    I'm trying to create a J2ME web services client using the wireless toolkit. I used the Stub Generator to create my STUB from my WSDL file.
    With the Wireless Toolkit 2.5 I was getting a "Missing end tag for body or envelope" error when I invoked a web method. I read that this was a problem with that version of the Wireless Toolkit (a parsing problem).
    I then upgraded to Wireless Toolkit 2.5.2. When running my app on the emulator, the "Missing end tag for body or envelope" error went away, and I was successfully invoking web methods, and the results were being parsed fine. However, when I put this .jar on to my handset (a Nokia E70) I still see the "Missing end tag for body or envelope" error!
    Does anyone know why this is?

    The IDE i'm using is NetBeans. I have WTK2.5 and WTK2.5.2 installed. When I flick the "emulator platform" from WTK2.5 to WTK2.5.2 the error "Missing end tag for body or envelope" does go away, and the SOAP response is successfully parsed. However, when I flick it back to WTK2.5, I get the error back. The SOAP message is being sent properly, and a good response is returned. The problem is with parsing the response. WTK2.5 can't seem to parse it, but WTK2.5.2 can.
    So I can get the application working fine (when the emulator platform is set to WTK2.5.2), but the problem is, I still get the error when I install the app on any phone, and I don't understand why???
    If anyone can shed any light on this, i'd be very grateful.
    p.s I've tested the app on the following handsets:
    Sony Ericsson P1i, K800i
    Nokia E70, E61

  • 1)unexpected Exception:page fault accessing tag table 2)java.rmi.MarshalException:Unexpected Exception page fault accessing page table

    i am trying to call WCF service by using Jsr 172 method
    but i got the two error
    1)unexpected Exceptionage fault accessing tag table
    2)java.rmi.MarshalException:Unexpected Exception page fault accessing page table
    does anybody knows about how to solve this error.
    Plz help me
    thanks in advance!!!!!!!!!!!
      My Code is:-----
    package com.rim.sample.webservicedemo;
    import java.rmi.RemoteException;
    import net.rim.device.api.ui.Field;
    import net.rim.device.api.ui.FieldChangeListener;
    import net.rim.device.api.ui.UiApplication;
    import net.rim.device.api.ui.component.ButtonField;
    import net.rim.device.api.ui.component.Dialog;
    import net.rim.device.api.ui.container.MainScreen;
    public class webservice extends UiApplication
        public webservice()
            pushScreen(new myscreen());
        public static void main(String[] args)
            webservice t=new webservice();
            t.enterEventDispatcher();
    final class myscreen extends MainScreen implements FieldChangeListener
        //taking this program from :-http://blog.bayestech.com/?p=78
         public myscreen()
             setTitle("HI");
             ButtonField g=new ButtonField("OK",ButtonField.CONSUME_CLICK);
             g.setChangeListener(this);
             add(g);
        public void fieldChanged(Field field, int context)
            try
                testServiceCall();
            catch (RemoteException e)
                Dialog.alert(e.getMessage());
                Dialog.alert(e.toString());
         public void testServiceCall() throws RemoteException
                TestService_Stub service = new TestService_Stub();
                //String  message = service.helloWorld();
               // Dialog.alert(message);
              // String  message2=service.echoName("ankush,nilesh,chetan,ravi");
                //Dialog.alert(message+"  second message  "+message2);
                // Object addition_output=service.addition(7,2);
                 //Dialog.alert("your addition is" +  String.valueOf(addition_output));
                 String  login_message = service.logOn_method("abcdefg","aaaaa");
                 Dialog.alert("login successfully");
                 Dialog.alert(login_message);
    //////////////TestService_Stub class file///////////////////////
    package com.rim.sample.webservicedemo;
    import java.rmi.RemoteException;
    import javax.xml.rpc.JAXRPCException;
    import javax.xml.namespace.QName;
    import javax.microedition.xml.rpc.Operation;
    import javax.microedition.xml.rpc.Type;
    import javax.microedition.xml.rpc.ComplexType;
    import javax.microedition.xml.rpc.Element;
    import net.rim.device.api.ui.component.Dialog;
    public class TestService_Stub implements TestService,javax.xml.rpc.Stub
        ///calling web services by using jsr-172 method
        //website link :- http://blog.bayestech.com/?p=78
        private String[] _propertyNames;
        private Object[] _propertyValues;
      //  private Object[] _propertyValues1;
        public TestService_Stub()
            _propertyNames = new String[] { ENDPOINT_ADDRESS_PROPERTY };
           // _propertyValues = new Object[] { "http://test.bayestech.com/Services/TestService.asmx" };
          // _propertyValues = new Object[] { "http://soft21/testWCF/Service.svc" };
            _propertyValues = new Object[] { "< url name >" };
     protected void _prepOperation(Operation op)
            for (int i = 0; i < _propertyNames.length; ++i)
                op.setProperty(_propertyNames[i], _propertyValues[i].toString());
     public String logOn_method(String usr_name,String password_name ) throws java.rmi.RemoteException
          Object inputObject[] = new Object[]
                  usr_name,
                  password_name
          Operation op = Operation.newInstance( _qname_operation_logOn, _type_logOn, _type_logOnResponse );
          _prepOperation( op );
          op.setProperty( Operation.SOAPACTION_URI_PROPERTY, "<soap action name >" );
          Object resultObj;
          try
              resultObj = op.invoke( inputObject );
              Dialog.alert((String)resultObj);
          catch( JAXRPCException e )
              Throwable cause = e.getLinkedCause();
              if( cause instanceof java.rmi.RemoteException )
                  throw (java.rmi.RemoteException) cause;
              Dialog.alert(e.getMessage());
              throw e;
          return (String )((Object[])resultObj)[0];
     protected static final QName _qname_operation_logOn = new QName( "<soap action name>", "logOn" );
        protected static final QName _qname_logOnResponse = new QName( "<soap action name>", "logOnResponse" );
        protected static final QName _qname_logOn = new QName( "<soap action name>", "logOn" );
        protected static final Element _type_logOn;
        protected static final Element _type_logOnResponse;
        static
     _type_logOn = new Element( _qname_logOn, _complexType( new Element[] {
                 new Element( new QName( "<soap action name>", "usr_name" ), Type.STRING, 0, 1, false ),
                 new Element( new QName( "<soap action name>", "password_name" ), Type.STRING, 0, 1, false )}), 1, 1, false );
            _type_logOnResponse = new Element( _qname_logOnResponse, _complexType( new Element[] {
                  new Element( new QName( "<soap action name>", "logResult" ), Type.INT, 0, 1, false )}), 1, 1, false );
        private static ComplexType _complexType( Element[] elements )
            ComplexType result = new ComplexType();
            result.elements = elements;
            return result;
        public void _setProperty(String name, Object value) {
            // TODO Auto-generated method stub
        public Object _getProperty(String name) {
            // TODO Auto-generated method stub
            return null;
        public String echoName(String name) throws RemoteException {
            // TODO Auto-generated method stub
            return null;
        public String helloWorld() throws RemoteException {
            // TODO Auto-generated method stub
            return null;
    i am trying to call WCF service by using Jsr 172 method
    but i got the two error
    1)unexpected Exceptionage fault accessing tag table
    2)java.rmi.MarshalException:Unexpected Exception page fault accessing page table
    does anybody knows about how to solve this error.
    Plz help me
    thanks in advance!!!!!!!!!!!
      My Code is:-----
    package com.rim.sample.webservicedemo;
    import java.rmi.RemoteException;
    import net.rim.device.api.ui.Field;
    import net.rim.device.api.ui.FieldChangeListener;
    import net.rim.device.api.ui.UiApplication;
    import net.rim.device.api.ui.component.ButtonField;
    import net.rim.device.api.ui.component.Dialog;
    import net.rim.device.api.ui.container.MainScreen;
    public class webservice extends UiApplication
        public webservice()
            pushScreen(new myscreen());
        public static void main(String[] args)
            webservice t=new webservice();
            t.enterEventDispatcher();
    final class myscreen extends MainScreen implements FieldChangeListener
        //taking this program from :-http://blog.bayestech.com/?p=78
         public myscreen()
             setTitle("HI");
             ButtonField g=new ButtonField("OK",ButtonField.CONSUME_CLICK);
             g.setChangeListener(this);
             add(g);
        public void fieldChanged(Field field, int context)
            try
                testServiceCall();
            catch (RemoteException e)
                Dialog.alert(e.getMessage());
                Dialog.alert(e.toString());
         public void testServiceCall() throws RemoteException
                TestService_Stub service = new TestService_Stub();
                //String  message = service.helloWorld();
               // Dialog.alert(message);
              // String  message2=service.echoName("ankush,nilesh,chetan,ravi");
                //Dialog.alert(message+"  second message  "+message2);
                // Object addition_output=service.addition(7,2);
                 //Dialog.alert("your addition is" +  String.valueOf(addition_output));
                 String  login_message = service.logOn_method("abcdefg","aaaaa");
                 Dialog.alert("login successfully");
                 Dialog.alert(login_message);
    //////////////TestService_Stub class file///////////////////////
    package com.rim.sample.webservicedemo;
    import java.rmi.RemoteException;
    import javax.xml.rpc.JAXRPCException;
    import javax.xml.namespace.QName;
    import javax.microedition.xml.rpc.Operation;
    import javax.microedition.xml.rpc.Type;
    import javax.microedition.xml.rpc.ComplexType;
    import javax.microedition.xml.rpc.Element;
    import net.rim.device.api.ui.component.Dialog;
    public class TestService_Stub implements TestService,javax.xml.rpc.Stub
        ///calling web services by using jsr-172 method
        //website link :- http://blog.bayestech.com/?p=78
        private String[] _propertyNames;
        private Object[] _propertyValues;
      //  private Object[] _propertyValues1;
        public TestService_Stub()
            _propertyNames = new String[] { ENDPOINT_ADDRESS_PROPERTY };
           // _propertyValues = new Object[] { "http://test.bayestech.com/Services/TestService.asmx" };
          // _propertyValues = new Object[] { "http://soft21/testWCF/Service.svc" };
            _propertyValues = new Object[] { "< url name >" };
     protected void _prepOperation(Operation op)
            for (int i = 0; i < _propertyNames.length; ++i)
                op.setProperty(_propertyNames[i], _propertyValues[i].toString());
     public String logOn_method(String usr_name,String password_name ) throws java.rmi.RemoteException
          Object inputObject[] = new Object[]
                  usr_name,
                  password_name
          Operation op = Operation.newInstance( _qname_operation_logOn, _type_logOn, _type_logOnResponse );
          _prepOperation( op );
          op.setProperty( Operation.SOAPACTION_URI_PROPERTY, "<soap action name >" );
          Object resultObj;
          try
              resultObj = op.invoke( inputObject );
              Dialog.alert((String)resultObj);
          catch( JAXRPCException e )
              Throwable cause = e.getLinkedCause();
              if( cause instanceof java.rmi.RemoteException )
                  throw (java.rmi.RemoteException) cause;
              Dialog.alert(e.getMessage());
              throw e;
          return (String )((Object[])resultObj)[0];
     protected static final QName _qname_operation_logOn = new QName( "<soap action name>", "logOn" );
        protected static final QName _qname_logOnResponse = new QName( "<soap action name>", "logOnResponse" );
        protected static final QName _qname_logOn = new QName( "<soap action name>", "logOn" );
        protected static final Element _type_logOn;
        protected static final Element _type_logOnResponse;
        static
     _type_logOn = new Element( _qname_logOn, _complexType( new Element[] {
                 new Element( new QName( "<soap action name>", "usr_name" ), Type.STRING, 0, 1, false ),
                 new Element( new QName( "<soap action name>", "password_name" ), Type.STRING, 0, 1, false )}), 1, 1, false );
            _type_logOnResponse = new Element( _qname_logOnResponse, _complexType( new Element[] {
                  new Element( new QName( "<soap action name>", "logResult" ), Type.INT, 0, 1, false )}), 1, 1, false );
        private static ComplexType _complexType( Element[] elements )
            ComplexType result = new ComplexType();
            result.elements = elements;
            return result;
        public void _setProperty(String name, Object value) {
            // TODO Auto-generated method stub
        public Object _getProperty(String name) {
            // TODO Auto-generated method stub
            return null;
        public String echoName(String name) throws RemoteException {
            // TODO Auto-generated method stub
            return null;
        public String helloWorld() throws RemoteException {
            // TODO Auto-generated method stub
            return null;

    Vishnu,
    I'm working on Ludwig's testcase.
    Ludwig's testcase is based on read-only View Objects.
    Is it also the case in your application ?
    I was unable to reproduce with VOs based on EOs.
    With read-only VOs, you can avoid the ArrayIndexOutOfBoundsException by setting the "Key Attribute" property for the PK of the Master VO.
    See the ADF Developer's Guide, topic "7.9.3 What You May Need to Know About Enabling View Object Key Management for Read-Only View Objects"
    URL: http://download-uk.oracle.com/docs/html/B25947_01/bcvoeo009.htm#BABJEEFA
    Regards,
    Didier.

  • JBoss + java.rmi.MarshalException: Socket timed out

    Hello.
    I'm not author of the software, I've just been transfered to try solve this problem:
    I've got an client application, an server app, JBoss, and Oracle DB.
    Now, when i try to create a big report in xls, which usually takes over 30minutes i get the exception:
    pl.wasko.serloc.DelegateException: Utracono po��czenie z serwerem.
    Spr�buj ponowi� operacj�
         at pl.wasko.mra.template.delegate.DocumentDelegate.unknownException(DocumentDelegate.java:74)
         at pl.wasko.mra.template.delegate.DocumentDelegate.exportToXls(DocumentDelegate.java:590)
         at pl.wasko.mra.client.task.ExportTemplateToFileTask.<init>(ExportTemplateToFileTask.java:71)
         at pl.wasko.mra.client.document.DocumentAdministration$11.construct(DocumentAdministration.java:447)
         at pl.wasko.mra.client.task.SwingWorker$2.run(SwingWorker.java:146)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.rmi.MarshalException: Socket timed out.  Waited 1800000 milliseconds for response while calling on InvokerLocator [socket://193.178.240.21:3873/]; nested exception is:
         java.net.SocketTimeoutException: Read timed out
         at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:302)
         at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
         at org.jboss.remoting.Client.invoke(Client.java:525)
         at org.jboss.remoting.Client.invoke(Client.java:488)
         at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:55)
         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
         at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
         at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:55)
         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
         at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:65)
         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
         at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
         at $Proxy1.exportTemplateToXlsByteArray(Unknown Source)
         at pl.wasko.mra.template.delegate.DocumentDelegate.exportToXls(DocumentDelegate.java:581)
         ... 4 more
    Caused by: java.net.SocketTimeoutException: Read timed out
         at java.net.SocketInputStream.socketRead0(Native Method)
         at java.net.SocketInputStream.read(SocketInputStream.java:129)
         at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
         at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
         at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2200)
         at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2490)
         at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2500)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1267)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
         at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128)
         at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66)
         at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:279)
         ... 18 moreProblem is that I'm not the author of this program, program is old, and the author learned on it, so it's code is illegible (I mean dificult to debug, and even read).
    I've only discovered that it uses Jasper to generate raport (I think so... I don't know), trace ended here:
    JasperConversion conv = new JasperConversion();                 
          JasperPrint jasperPrint = conv.createJasperPrint(template,params,searchCompileReport,userId, reportPagination);
          String test = System.getProperty("pl.wasko.mra.template.test");
          if(test != null && test.equals("1"))
            String tempDir = System.getProperty("jasper.reports.compile.temp");
            if(tempDir != null)
              conv.exportToPdfFile(jasperPrint,tempDir+"/test.xls");
          }I really don't ahve any ideas, I've tried to edit xml files on jboss - no result, properties files - the same, I was looking for something in the code to change timeout, but without results.
    Please, if anyone had similar problem, or have an idea, how to fix this, I will be very gratefull

    if you are using jboss 4+ and ejb3, ib believe you want to edit the "ejb3.deployer/META-INF/jboss-service.xml" file. you want to change the "InvokerLocator" attribure on the "jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3" mbean. it should currently look like "socket://${jboss.bind.address}:3873". you want to add a "timeout" attribute like "socket://${jboss.bind.address}:3873/?timeout=yourTimeoutHere", where "yourTimeoutHere" is your desired timeout in milliseconds.

  • Java.rmi.ServerException: JAXRPCSERVLET28: Missing port information

    Hi
    We are getting errors when we run the webservice client..
    With this we have also provided the webservice code.
    Please any one help us to resolve this issue...
    Thanks in advance.
    We are using
    J2EE 1.4
    Error:
    java.rmi.ServerException: JAXRPCSERVLET28: Missing port information
    at com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.ja
    va:510)
    at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:307
    at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.j
    ava:103)
    at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:492)
    at com.sun.xml.rpc.client.dii.CallInvocationHandler.doCall(CallInvocatio
    nHandler.java:121)
    at com.sun.xml.rpc.client.dii.CallInvocationHandler.invoke(CallInvocatio
    nHandler.java:85)
    at $Proxy0.flowrequest(Unknown Source)
    at dynamicproxy.MathClient.main(MathClient.java:52)
    Web service Client Code:
    package dynamicproxy;
    import java.net.URL;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.JAXRPCException;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.ServiceFactory;
    //import com.ibm.ctg.client.JavaGateway;
    //import com.ibm.ctg.client.ECIRequest;
    import dynamicproxy.*;
    public class MathClient
    static String message;
    static String err=null;
         static StringBuffer sb = null;
         public String s1;
         public static int iValidationFailed = 0;
    public static void main(String[] args)
    try {
    String nameSpaceUri = "urn:Foo";
    String serviceName = "CtgService";
    String portName = "MathFacePort";
    // Specify the location of the WSDL file
    URL url = new URL("http://localhost:8080/math-ctgservice/math?WSDL");
    // Create an instance of service factory
    ServiceFactory serviceFactory = ServiceFactory.newInstance();
    // Create a service object to act as a factory for proxies.
    Service mathService = serviceFactory.createService(url,
    new QName(nameSpaceUri, serviceName));
    // Create a proxy
    dynamicproxy.MathFace
    myProxy = (dynamicproxy.MathFace) mathService.getPort(new
                             QName(nameSpaceUri,
    portName), dynamicproxy.MathFace.class);
    // Invoke the add method
    //System.out.println(myProxy.add(23, 12));
              //get the input value and pass it to the function
                   String a = args[0]+"~"+"------------------------------------------------------------";
                   //String a = b.toUpperCase();
                   // Invoke the add method
                   myProxy.flowrequest(a);
                   System.out.println("Message:"+message);
         catch (Exception ex)
    ex.printStackTrace();
    }

    As is so often the case, Google is your friend.
    Googling for the exception message (JAXRPCSERVLET28: Missing port information) yields the following list.
    http://www.google.com/search?hl=en&q=JAXRPCSERVLET28%3A+Missing+port+information&btnG=Google+Search
    Follow the bouncing link, it will lead you to the solution.
    PS.

  • Java.rmi.MarshalException is thrown when we run JUnit TestCase

    Hi,
    We wrote a JUnit TestCase to test our EJBs of our J2EE project.
    When we run the JUnit TestCase, we are facing Marshalling Exception.
    Our application development IDE is WSAD5.0 and it's JUnit jar's version is 3.8.1
    But the application is running fine when we manually run the application. This makes clear that there is no problem in the application.
    And also all the required classes are implementing Serializable.
    Here is the actual stack trace of the exception:
    java.rmi.MarshalException: CORBA MARSHAL 0x0 No; nested exception is:
         org.omg.CORBA.MARSHAL: minor code: 0 completed: No
    org.omg.CORBA.MARSHAL: minor code: 0 completed: No
         at java.lang.Class.newInstance0(Native Method)
         at java.lang.Class.newInstance(Class.java:262)
         at com.ibm.rmi.iiop.ReplyMessage.getSystemException(ReplyMessage.java:206)
         at com.ibm.rmi.iiop.ClientResponseImpl.getSystemException(ClientResponseImpl.java:130)
         at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:556)
         at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:708)
         at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:258)
         at fos.server.lt.medicalInsurance.sbMedicalInsurance._MedicalInsuranceRemote_Stub.getInterventionFee(_MedicalInsuranceRemote_Stub.java:395)
         at getIntFeeEJB.CTestCase_Default._Default_0(CTestCase_Default.java:393)
         at getIntFeeEJB.CTestCase_Default.test_Default_0(CTestCase_Default.java:413)
         at java.lang.reflect.Method.invoke(Native Method)
         at junit.framework.TestCase.runTest(TestCase.java:154)
         at junit.framework.TestCase.runBare(TestCase.java:127)
         at junit.framework.TestResult$1.protect(TestResult.java:106)
         at junit.framework.TestResult.runProtected(TestResult.java:124)
         at junit.framework.TestResult.run(TestResult.java:109)
         at junit.framework.TestCase.run(TestCase.java:118)
         at junit.framework.TestSuite.runTest(TestSuite.java:208)
         at junit.framework.TestSuite.run(TestSuite.java:203)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:329)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:218)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:151)
    Any idea how to resolve this issue. if so, please help.

    i changed my plan to test application ng the way
    mentioned above. But i think that it was due to lack
    of memory on the system.
    I hope this will be helpful.I got probleem whit java applet whit error report 3701
    I hope jou can help me

  • 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.

  • Java.rmi.MarshalException: CORBA COMM_FAILURE 1398079691

    I am facing a problem in Weblogic 8.1 with service pack 4. I have deployed an EJB that parses an xml and transforms that to an another xml. If we send an xml with less data...say for example, the file size is around 5KB, then it works fine. If we send a larger xml that is of size more than 10KB, then I get the following exception.
    com.boomboat.scs.services.client.ClientException: CORBA COMM_FAILURE 1398079691 No; nested exception is:
         org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 203 completed: No
         at com.boomboat.scs.services.client.SCSClient.getCsoFromLso(SCSClient.java:157)
         at ORTester.main(ORTester.java:109)
    Caused by: java.rmi.MarshalException: CORBA COMM_FAILURE 1398079691 No; nested exception is:
         org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 203 completed: No
         at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemException(Unknown Source)
         at javax.rmi.CORBA.Util.mapSystemException(Unknown Source)
         at com.boomboat.scs.services.legacytransformation.ejb._TransformerRemote_Stub.getCsoFromLso(Unknown Source)
         at com.boomboat.scs.services.client.SCSClient.getCsoFromLso(SCSClient.java:155)
         ... 1 more
    Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 203 completed: No
         at com.sun.corba.se.internal.iiop.IIOPConnection.sendWithoutLock(Unknown Source)
         at com.sun.corba.se.internal.iiop.BufferManagerWriteGrow.sendMessage(Unknown Source)
         at com.sun.corba.se.internal.iiop.IIOPOutputStream.finishSendingMessage(Unknown Source)
         at com.sun.corba.se.internal.iiop.IIOPOutputStream.invoke(Unknown Source)
         at com.sun.corba.se.internal.iiop.ClientRequestImpl.invoke(Unknown Source)
         at com.sun.corba.se.internal.corba.ClientDelegate.invoke(Unknown Source)
         at com.sun.corba.se.internal.corba.ClientDelegate.invoke(Unknown Source)
         at org.omg.CORBA.portable.ObjectImpl._invoke(Unknown Source)
         ... 3 more
    Do anybody have any idea on how to resolve this?

    There is no firewall settings between the client and server sides. I checked the JDK ORB on the server, it run well at the moment of MarshaoException. Normally, we will have the MarshalException when the stub class in the client side is not up to date...any other possible reasons?
    May I have some suggestions? Or my statement is not clear enough?
    Thanks

  • Why do we obtain a java.rmi.MarshalException during a stateless session bean method invocation from a client java program?

    Hello,
    we're using iAS SP3.
    We deployed a stateless session bean that has a business methods with a Vector as argument (put (vector, String)).
    If we call it from a servlet, it works fine. But when we try to call it from a thread, started in a standalone java client program, we obtain a java.rmi.MarshalException.
    We tried to use Vector and HashSet objects as arguments, but we always obtain this kind of exception. It seems strange because a similar
    method that returns a Collection of objects (getAll) works fine. This is the our bean Remote Interface:
    public interface Receive extends EJBObject {
    public void putMessage(Message message, java.lang.String la) throws RemoteException; // it works fine!!!
    public void putMessages(java.util.Vector messages, java.lang.String la) throws RemoteException; // it doesn't work!!!
    Collection getAll (java.lang.String la) throws RemoteException, EJBException; // it works fine!!!!
    This is the java client stack trace:
    java.rmi.MarshalException: CORBA MARSHAL 0 No; nested exception is:
    org.omg.CORBA.MARSHAL: minor code: 0 completed: No
    org.omg.CORBA.MARSHAL: minor code: 0 completed: No
    at java.lang.Class.newInstance0(Native Method)
    at java.lang.Class.newInstance(Class.java:241)
    at com.sun.corba.ee.internal.iiop.ReplyMessage.getSystemException(ReplyMessage.java:93)
    at com.sun.corba.ee.internal.iiop.ClientResponseImpl.getSystemException(ClientResponseImpl.java:82)
    at com.sun.corba.ee.internal.corba.ClientDelegate.invoke(ClientDelegate.java:199)
    at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:248)
    at ejb._Receive_Stub.putMessages(_Receive_Stub.java:731)
    at commlayer.Receiver.run(Receiver.java:67)
    Does anyone know how to solve this problem?
    Thank you in advance,
    Maurizio

    This is big bug!
    This seems to occur when you try to return complex objects (e.g. a vector of classes or even the Date class).
    As a workaround you can add this Ejb or module to the iPlanet Classpath (NT via kregedit, Sun via iasenv skript.).
    This helps but i really don't know why.
    It should be fixed in 6.5, maybe. We'll see.
    Regards

  • Java.rmi.MarshalException

    Following error is thrown if more than 50 users tries to login our page. The page contains some ejb calls also. help plzzzzzzzzzzzz.
    <Complete failure to send exception class java.rmi.MarshalException: java.rmi.MarshalException: IOException while
    sending; nested exception is:
    java.io.IOException: Attempt to send message on closed socket.>
    java.rmi.MarshalException: IOException while sending; nested exception is:
    java.io.IOException: Attempt to send message on closed socket
    java.io.IOException: Attempt to send message on closed socket
    at weblogic.iiop.MuxableSocketIIOP.send(Lweblogic.iiop.OutgoingMessage;)V(MuxableSocketIIOP.java:362)
    at weblogic.iiop.EndPointImpl.send(Lweblogic.iiop.IIOPOutputStream;)V(EndPointImpl.java:1081)
    at weblogic.iiop.OutboundResponseImpl.sendThrowable(Ljava.lang.Throwable;)V(OutboundResponseImpl.java:194)
    at weblogic.rmi.internal.BasicServerRef.handleThrowable(Ljava.lang.Throwable;Lweblogic.rmi.spi.OutboundResponse;)V(Bas
    icServerRef.java:554)
    at weblogic.rmi.internal.BasicServerRef.postInvoke(Lweblogic.rmi.internal.MethodDescriptor;Lweblogic.rmi.spi.InboundRe
    quest;Lweblogic.rmi.spi.OutboundResponse;Ljava.lang.Throwable;)V(BasicServerRef.java:519)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(Lweblogic.rmi.spi.InboundRequest;)V(BasicServerRef.java:397)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(Lweblogic.kernel.ExecuteThread;)V(BasicExecuteRequest.java:30)
    at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(ExecuteThread.java:234)
    at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:210)
    at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)

    The stack trace is complaining about not being able to open a socket, essentially. Or rather, it has opened a socket and something else has closed it.
    Combine with the number 50, and that's ringing very faint bells for me - what OS are you running this on ? I rather think that some OS (really can't remember which - Windows 95 possibly ?) doesn't allow you to open more than 50 sockets without changing a system parameter somewhere... ? Worth having a google around to see if you can find this - sorry I don't recall more about it.
    Dave.

  • Java.rmi.MarshalException (Stub is there)

    Hi I'm gettin the following errors:
    Exception in thread "main" java.rmi.MarshalException: error marshalling argument
    s; nested exception is:
    java.io.NotSerializableException: package1.InternalRequest
    Above error when running in dos (i have used rmic to create the stub)
    But in Eclipse editor i get the following error when running:
    Exception: java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
         java.lang.ClassNotFoundException: package1.InternalRequest_Stub (no security manager: RMI class loader disabled)
    Any ideas? I've used rmic to create the stub and I've started rmiregistry then started the server again however I still cannot get past this problem. It worked fine before.

    Nope still getting:
    Exception: java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
         java.lang.ClassNotFoundException: package1.InternalRequest_Stub (no security manager: RMI class loader disabled)
    Anyone know why this is happening??
    I have created the stub and I have rmiregistry running.

  • Java.rmi.MarshalException when getting a Connection from DataSource

    Hi, folks!
    Whenever I try to get a Connection from a DataSource, I´ve got the following Exception:
    "java.rmi.MarshalException: CORBA MARSHAL 0 Maybe; nested exception is:
         org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: Maybe
    CORBA MARSHAL 0 Maybe; nested exception is:
         org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: Maybe
         at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemException(ShutdownUtilDelegate.java:97)
         at javax.rmi.CORBA.Util.mapSystemException(Util.java:65)
         at weblogic.jdbc.common.internal._RemoteDataSource_Stub.getConnection(Unknown
    Source)
         at com.contratacao.model.dao.DAObasico.getConnection(DAObasico.java:42)..."
    In fact, the client can retrieve the DataSource´s stub, but just can´t get the
    Connection.
    Configuration:
    1. WLS 8.1 sp2, on Windows XP, with SUN JDK 141_05 (embbeded with WLPlatorm installer)
    2. Oracle 9.0.1 on Windows XP, connected through an Oracle JDBC thin driver
    3. java Client on Windows XP/2000, with SUN JDK 142_03 (I´ve got the same results
    with SUN JDK 141_01. I´m also using wlclient.jar.
    Do you have any idea of what is causing this behavior?
    I´d appreciate any help. Thanks in advance,
    Marcos

    "Marcos Medina" <[email protected]> writes:
    This is an FAQ. The RMI JDBC driver is not supported in the thin client.
    andy
    Hi, folks!
    Whenever I try to get a Connection from a DataSource, I´ve got the following Exception:
    "java.rmi.MarshalException: CORBA MARSHAL 0 Maybe; nested exception is:
         org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: Maybe
    CORBA MARSHAL 0 Maybe; nested exception is:
         org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: Maybe
         at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemException(ShutdownUtilDelegate.java:97)
         at javax.rmi.CORBA.Util.mapSystemException(Util.java:65)
         at weblogic.jdbc.common.internal._RemoteDataSource_Stub.getConnection(Unknown
    Source)
         at com.contratacao.model.dao.DAObasico.getConnection(DAObasico.java:42)..."
    In fact, the client can retrieve the DataSource´s stub, but just can´t get the
    Connection.
    Configuration:
    1. WLS 8.1 sp2, on Windows XP, with SUN JDK 141_05 (embbeded with WLPlatorm installer)
    2. Oracle 9.0.1 on Windows XP, connected through an Oracle JDBC thin driver
    3. java Client on Windows XP/2000, with SUN JDK 142_03 (I´ve got the same results
    with SUN JDK 141_01. I´m also using wlclient.jar.
    Do you have any idea of what is causing this behavior?
    I´d appreciate any help. Thanks in advance,
    Marcos

  • Java.rmi.MarshalException:....Broken pipe (plz help)

    Hi,
    I tried to run one simple RMI application..
    I got the RMI Server running...
    But While running the client I got the following Exception...
    java.rmi.MarshalException: error marshalling arguments; nested exception is:
    java.net.SocketException: Broken pipe
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
    at engine.ServerMain_Stub.addTask(Unknown Source)
    at client.ClientMain.initCompute(ClientMain.java:38)
    at client.ClientMain.main(ClientMain.java:17)
    Caused by: java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66)
    at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
    at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1639)
    at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1548)
    at java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1146)
    at java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1100)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1241)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052) at java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1355)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:281)
    at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:265)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:124)
    ... 3 more
    I am not able to understand the problem...
    Plz help..
    Regerds
    Jijo Vincent

    Hi, I got same stack trace within RMIConnector.
    MBean Server (= RIM Server) has bean alive, but a MBean client may get following Exception.
    I'm guessing that a port on server side was closed, cause rmi object on server side was unbinded from the rmi registory by some trigger.
    But I don't know what was the trigger for this...
    Caused by: java.rmi.MarshalException: error marshalling arguments; nested exception is:
    java.net.SocketException: Broken pipe
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:138)
    at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
    at javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown Source)
    at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:993)
    at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
    ... 7 more
    Caused by: java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
    at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
    at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1847)
    at java.io.ObjectOutputStream$BlockDataOutputStream.writeByte(ObjectOutputStream.java:1885)
    at java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1546)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:333)
    at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:274)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
    ... 11 more
    java.runtime.name = Java(TM) SE Runtime Environment
    java.runtime.version = 1.6.0_24-b07
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Sun Microsystems Inc.
    java.specification.version = 1.6
    os.arch = amd64
    os.name = Linux
    os.version = 2.6.18-194.el5

  • 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 :)

Maybe you are looking for

  • S_ALR_87012168 List Header Issue

    Dear Friends, I Am facing problem to resolve the issue as in the standard FI Report S_ALR_87012168 need to hide the list header because if I am executing the report for multiple customers than its displying the all customers in list header so while I

  • DB High Availability - Java Edition

    I am using Berkeley DB Java Edition to do writes and reads to my database. I am planning on having a cluster of databases with HA feature. I noticed that the feature set for Berkeley DB Java Editon does not include High Availabilty. I did check the C

  • Says I don't have enough space

    I want to download Infinity blade onto my iPhone while it's 99 cents and I cleared off my phone to where it says I have 1.0 gb free in the about menu. When I go to download infinity blade from the app store it says I dont have enough space. Infinity

  • About disk quota in win2008r2 server(AD)

    Hi,everyone:       I have a question for help. In win2008r2 domain server, I want to set disk quota on each domain users. In default, when a user created, it belongs to Domain Users group, and disk quota applied. But if I add the user into Domain Adm

  • 6085 - problems with displaying and playing music ...

    Before the recent software update, I could load music files, manage them, and play them back easily. Life was good. Now I get goofy results when I drag and drop music files into my 6085. When I play them via Music Player, I find them in the Unknown A