8 Replies Latest reply on Jun 25, 2012 10:15 AM by navigateur

    What causes this error during marshaller generation: RuntimeException: no such field: null?

    navigateur

      After upgrading to errai 2.0 from 1.3, I'm getting

       

      java.lang.RuntimeException: no such field: null

      at org.jboss.errai.codegen.framework.meta.impl.gwt.GWTClass.getField(GWTClass.java:309)

       

      Under what circumstances would I get this error?

       

      I'm hoping you can guess generally because it doesn't tell me which class it's having trouble generating a marshaller for, and I have a lot of @Portable classes and didn't want to post them all here.

        • 1. Re: What causes this error during marshaller generation: RuntimeException: no such field: null?
          cbrock

          Do you have a fuller stacktrace, at least? Also, what is the exact version you're using?

          • 2. Re: What causes this error during marshaller generation: RuntimeException: no such field: null?
            navigateur

            Mike, it's 2.0.Beta3 and it's

             

            00:05:11.500 [ERROR] Error generating marshallers

            org.jboss.errai.codegen.framework.exception.GenerationException: Error Building Statement
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:87)
                 at org.jboss.errai.codegen.framework.builder.callstack.AbstractCallElement.nextOrReturn(AbstractCallElement.java:41)
                 at org.jboss.errai.codegen.framework.builder.callstack.LoadVariable.handleCall(LoadVariable.java:126)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder.generate(AbstractStatementBuilder.java:64)
                 at org.jboss.errai.codegen.framework.BlockStatement.generate(BlockStatement.java:67)
                 at org.jboss.errai.codegen.framework.control.TryBlock.generate(TryBlock.java:59)
                 at org.jboss.errai.codegen.framework.builder.impl.TryBlockBuilderImpl$1.doDeferred(TryBlockBuilderImpl.java:54)
                 at org.jboss.errai.codegen.framework.builder.callstack.DeferredCallElement.handleCall(DeferredCallElement.java:37)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder.generate(AbstractStatementBuilder.java:64)
                 at org.jboss.errai.codegen.framework.BlockStatement.generate(BlockStatement.java:67)
                 at org.jboss.errai.codegen.framework.builder.impl.AnonymousClassStructureBuilderImpl$2$1.doGenerate(AnonymousClassStructureBuilderImpl.java:109)
                 at org.jboss.errai.codegen.framework.builder.impl.AnonymousClassStructureBuilderImpl.doGenerate(AnonymousClassStructureBuilderImpl.java:180)
                 at org.jboss.errai.codegen.framework.builder.impl.AnonymousClassStructureBuilderImpl.access$200(AnonymousClassStructureBuilderImpl.java:43)
                 at org.jboss.errai.codegen.framework.builder.impl.AnonymousClassStructureBuilderImpl$3.generate(AnonymousClassStructureBuilderImpl.java:148)
                 at org.jboss.errai.codegen.framework.builder.impl.ObjectBuilder$2.doDeferred(ObjectBuilder.java:166)
                 at org.jboss.errai.codegen.framework.builder.callstack.DeferredCallElement.handleCall(DeferredCallElement.java:37)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.callstack.AbstractCallElement.nextOrReturn(AbstractCallElement.java:41)
                 at org.jboss.errai.codegen.framework.builder.callstack.ResetCallElement.handleCall(ResetCallElement.java:29)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder.generate(AbstractStatementBuilder.java:64)
                 at org.jboss.errai.codegen.framework.builder.impl.ObjectBuilder.generate(ObjectBuilder.java:174)
                 at org.jboss.errai.codegen.framework.util.GenUtil.generate(GenUtil.java:138)
                 at org.jboss.errai.codegen.framework.builder.callstack.AssignVariable.handleCall(AssignVariable.java:45)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.callstack.AbstractCallElement.nextOrReturn(AbstractCallElement.java:41)
                 at org.jboss.errai.codegen.framework.builder.callstack.LoadVariable.handleCall(LoadVariable.java:126)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder.generate(AbstractStatementBuilder.java:64)
                 at org.jboss.errai.codegen.framework.BlockStatement.generate(BlockStatement.java:67)
                 at org.jboss.errai.codegen.framework.meta.impl.build.BuildMetaConstructor.toJavaString(BuildMetaConstructor.java:241)
                 at org.jboss.errai.codegen.framework.meta.impl.build.BuildMetaClass.membersToString(BuildMetaClass.java:620)
                 at org.jboss.errai.codegen.framework.meta.impl.build.BuildMetaClass.toJavaString(BuildMetaClass.java:565)
                 at org.jboss.errai.codegen.framework.builder.impl.ClassBuilder.toJavaString(ClassBuilder.java:484)
                 at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory._generate(MarshallerGeneratorFactory.java:232)
                 at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory.generate(MarshallerGeneratorFactory.java:106)
                 at org.jboss.errai.marshalling.rebind.MarshallersGenerator._generate(MarshallersGenerator.java:260)
                 at org.jboss.errai.marshalling.rebind.MarshallersGenerator.generateMarshallerBootstrapper(MarshallersGenerator.java:250)
                 at org.jboss.errai.marshalling.rebind.MarshallersGenerator.generate(MarshallersGenerator.java:235)
                 at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrapper.java:48)
                 at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(GeneratorExtWrapper.java:60)
                 at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:647)
                 at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
                 at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
                 at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:268)
                 at com.google.gwt.dev.shell.ShellModuleSpaceHost.rebind(ShellModuleSpaceHost.java:141)
                 at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:585)
                 at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455)
                 at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
                 at com.google.gwt.core.client.GWT.create(GWT.java:97)
                 at org.jboss.errai.marshalling.client.api.MarshallerFramework.<clinit>(MarshallerFramework.java:43)
                 at java.lang.Class.forName0(Native Method)
                 at java.lang.Class.forName(Class.java:264)
                 at com.google.gwt.dev.shell.ModuleSpace.loadClassFromSourceName(ModuleSpace.java:654)
                 at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:363)
                 at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
                 at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
                 at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
                 at java.lang.Thread.run(Thread.java:722)
            Caused by: java.lang.RuntimeException: no such field: null
                 at org.jboss.errai.codegen.framework.meta.impl.gwt.GWTClass.getField(GWTClass.java:309)
                 at org.jboss.errai.codegen.framework.meta.impl.gwt.GWTClass.getDeclaredField(GWTClass.java:317)
                 at org.jboss.errai.codegen.framework.builder.callstack.LoadField.handleCall(LoadField.java:46)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.callstack.AbstractCallElement.nextOrReturn(AbstractCallElement.java:41)
                 at org.jboss.errai.codegen.framework.builder.callstack.LoadVariable.handleCall(LoadVariable.java:126)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder.generate(AbstractStatementBuilder.java:64)
                 at org.jboss.errai.codegen.framework.BlockStatement.generate(BlockStatement.java:67)
                 at org.jboss.errai.codegen.framework.control.TryBlock.generate(TryBlock.java:59)
                 at org.jboss.errai.codegen.framework.builder.impl.TryBlockBuilderImpl$1.doDeferred(TryBlockBuilderImpl.java:54)
                 at org.jboss.errai.codegen.framework.builder.callstack.DeferredCallElement.handleCall(DeferredCallElement.java:37)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder.generate(AbstractStatementBuilder.java:64)
                 at org.jboss.errai.codegen.framework.BlockStatement.generate(BlockStatement.java:67)
                 at org.jboss.errai.codegen.framework.builder.impl.AnonymousClassStructureBuilderImpl$2$1.doGenerate(AnonymousClassStructureBuilderImpl.java:109)
                 at org.jboss.errai.codegen.framework.builder.impl.AnonymousClassStructureBuilderImpl.doGenerate(AnonymousClassStructureBuilderImpl.java:180)
                 at org.jboss.errai.codegen.framework.builder.impl.AnonymousClassStructureBuilderImpl.access$200(AnonymousClassStructureBuilderImpl.java:43)
                 at org.jboss.errai.codegen.framework.builder.impl.AnonymousClassStructureBuilderImpl$3.generate(AnonymousClassStructureBuilderImpl.java:148)
                 at org.jboss.errai.codegen.framework.builder.impl.ObjectBuilder$2.doDeferred(ObjectBuilder.java:166)
                 at org.jboss.errai.codegen.framework.builder.callstack.DeferredCallElement.handleCall(DeferredCallElement.java:37)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.callstack.AbstractCallElement.nextOrReturn(AbstractCallElement.java:41)
                 at org.jboss.errai.codegen.framework.builder.callstack.ResetCallElement.handleCall(ResetCallElement.java:29)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder.generate(AbstractStatementBuilder.java:64)
                 at org.jboss.errai.codegen.framework.builder.impl.ObjectBuilder.generate(ObjectBuilder.java:174)
                 at org.jboss.errai.codegen.framework.util.GenUtil.generate(GenUtil.java:138)
                 at org.jboss.errai.codegen.framework.builder.callstack.AssignVariable.handleCall(AssignVariable.java:45)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.callstack.AbstractCallElement.nextOrReturn(AbstractCallElement.java:41)
                 at org.jboss.errai.codegen.framework.builder.callstack.LoadVariable.handleCall(LoadVariable.java:126)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder$1.handleCall(AbstractStatementBuilder.java:81)
                 at org.jboss.errai.codegen.framework.builder.impl.AbstractStatementBuilder.generate(AbstractStatementBuilder.java:64)
                 at org.jboss.errai.codegen.framework.BlockStatement.generate(BlockStatement.java:67)
                 at org.jboss.errai.codegen.framework.meta.impl.build.BuildMetaConstructor.toJavaString(BuildMetaConstructor.java:241)
                 at org.jboss.errai.codegen.framework.meta.impl.build.BuildMetaClass.membersToString(BuildMetaClass.java:620)
                 at org.jboss.errai.codegen.framework.meta.impl.build.BuildMetaClass.toJavaString(BuildMetaClass.java:565)
                 at org.jboss.errai.codegen.framework.builder.impl.ClassBuilder.toJavaString(ClassBuilder.java:484)
                 at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory._generate(MarshallerGeneratorFactory.java:232)
                 at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory.generate(MarshallerGeneratorFactory.java:106)
                 at org.jboss.errai.marshalling.rebind.MarshallersGenerator._generate(MarshallersGenerator.java:260)
                 at org.jboss.errai.marshalling.rebind.MarshallersGenerator.generateMarshallerBootstrapper(MarshallersGenerator.java:250)
                 at org.jboss.errai.marshalling.rebind.MarshallersGenerator.generate(MarshallersGenerator.java:235)
                 at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrapper.java:48)
                 at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(GeneratorExtWrapper.java:60)
                 at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:647)
                 at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
                 at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
                 at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:268)
                 at com.google.gwt.dev.shell.ShellModuleSpaceHost.rebind(ShellModuleSpaceHost.java:141)
                 at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:585)
                 at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455)
                 at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
                 at com.google.gwt.core.client.GWT.create(GWT.java:97)
                 at org.jboss.errai.marshalling.client.api.MarshallerFramework.<clinit>(MarshallerFramework.java:43)
                 at java.lang.Class.forName0(Native Method)
                 at java.lang.Class.forName(Class.java:264)
                 at com.google.gwt.dev.shell.ModuleSpace.loadClassFromSourceName(ModuleSpace.java:654)
                 at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:363)
                 at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
                 at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
                 at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
                 at java.lang.Thread.run(Thread.java:722)

             

            What could I possibly be missing? It's probably something really obvious.

            • 3. Re: What causes this error during marshaller generation: RuntimeException: no such field: null?
              cbrock

              Has this been tried on beta4 or CR1?

              • 4. Re: What causes this error during marshaller generation: RuntimeException: no such field: null?
                navigateur

                Mike,

                The problem persists exactly the same in CR1. Have you any clue what (probably tiny thing) I might be missing or doing wrong?

                • 5. Re: What causes this error during marshaller generation: RuntimeException: no such field: null?
                  cbrock

                  Is there any way we can see your portable classes?

                  • 6. Re: What causes this error during marshaller generation: RuntimeException: no such field: null?
                    navigateur

                    Hi, Mike, after updating from Errai 2.0-RC1 to Errai 2.0-final the error now seems a little more specific:

                     

                    java.lang.RuntimeException: no such field: id in class: com.mypackage.SubObject

                              at org.jboss.errai.codegen.meta.impl.gwt.GWTClass.getField(GWTClass.java:281)

                              at org.jboss.errai.codegen.meta.impl.gwt.GWTClass.getDeclaredField(GWTClass.java:289)

                              at org.jboss.errai.codegen.builder.callstack.LoadField.handleCall(LoadField.java:46)

                              at org.jboss.errai.codegen.builder.callstack.AbstractCallElement.nextOrReturn(AbstractCallElement.java:46)

                              at org.jboss.errai.codegen.builder.callstack.LoadVariable.handleCall(LoadVariable.java:122)

                              at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder.generate(AbstractStatementBuilder.java:63)

                              at org.jboss.errai.codegen.BlockStatement.generate(BlockStatement.java:67)

                              at org.jboss.errai.codegen.control.TryBlock.generate(TryBlock.java:59)

                              at org.jboss.errai.codegen.builder.impl.TryBlockBuilderImpl$1.doDeferred(TryBlockBuilderImpl.java:54)

                              at org.jboss.errai.codegen.builder.callstack.DeferredCallElement.handleCall(DeferredCallElement.java:39)

                              at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder.generate(AbstractStatementBuilder.java:63)

                              at org.jboss.errai.codegen.BlockStatement.generate(BlockStatement.java:67)

                              at org.jboss.errai.codegen.builder.impl.AnonymousClassStructureBuilderImpl$2$1.doGenerate(AnonymousClassStructureBuilderImpl.java:109)

                              at org.jboss.errai.codegen.builder.impl.AnonymousClassStructureBuilderImpl.doGenerate(AnonymousClassStructureBuilderImpl.java:180)

                              at org.jboss.errai.codegen.builder.impl.AnonymousClassStructureBuilderImpl.access$200(AnonymousClassStructureBuilderImpl.java:43)

                              at org.jboss.errai.codegen.builder.impl.AnonymousClassStructureBuilderImpl$3.generate(AnonymousClassStructureBuilderImpl.java:148)

                              at org.jboss.errai.codegen.builder.impl.ObjectBuilder$2.doDeferred(ObjectBuilder.java:172)

                              at org.jboss.errai.codegen.builder.callstack.DeferredCallElement.handleCall(DeferredCallElement.java:39)

                              at org.jboss.errai.codegen.builder.callstack.AbstractCallElement.nextOrReturn(AbstractCallElement.java:46)

                              at org.jboss.errai.codegen.builder.callstack.ResetCallElement.handleCall(ResetCallElement.java:29)

                              at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder.generate(AbstractStatementBuilder.java:63)

                              at org.jboss.errai.codegen.builder.impl.ObjectBuilder.generate(ObjectBuilder.java:180)

                              at org.jboss.errai.codegen.util.GenUtil.generate(GenUtil.java:138)

                              at org.jboss.errai.codegen.builder.callstack.AssignVariable.handleCall(AssignVariable.java:46)

                              at org.jboss.errai.codegen.builder.callstack.AbstractCallElement.nextOrReturn(AbstractCallElement.java:46)

                              at org.jboss.errai.codegen.builder.callstack.LoadVariable.handleCall(LoadVariable.java:122)

                              at org.jboss.errai.codegen.builder.impl.AbstractStatementBuilder.generate(AbstractStatementBuilder.java:63)

                              at org.jboss.errai.codegen.BlockStatement.generate(BlockStatement.java:67)

                              at org.jboss.errai.codegen.meta.impl.build.BuildMetaConstructor.toJavaString(BuildMetaConstructor.java:278)

                              at org.jboss.errai.codegen.meta.impl.build.BuildMetaClass.membersToString(BuildMetaClass.java:631)

                              at org.jboss.errai.codegen.meta.impl.build.BuildMetaClass.toJavaString(BuildMetaClass.java:576)

                              at org.jboss.errai.codegen.builder.impl.ClassBuilder.toJavaString(ClassBuilder.java:486)

                              at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory._generate(MarshallerGeneratorFactory.java:222)

                              at org.jboss.errai.marshalling.rebind.MarshallerGeneratorFactory.generate(MarshallerGeneratorFactory.java:103)

                              at org.jboss.errai.marshalling.rebind.MarshallersGenerator._generate(MarshallersGenerator.java:259)

                              at org.jboss.errai.marshalling.rebind.MarshallersGenerator.generateMarshallerBootstrapper(MarshallersGenerator.java:237)

                              at org.jboss.errai.marshalling.rebind.MarshallersGenerator.generate(MarshallersGenerator.java:222)

                              at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrapper.java:48)

                              at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(GeneratorExtWrapper.java:60)

                              at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:647)

                              at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)

                              at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)

                              at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:268)

                              at com.google.gwt.dev.shell.ShellModuleSpaceHost.rebind(ShellModuleSpaceHost.java:141)

                              at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:585)

                              at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455)

                              at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)

                              at com.google.gwt.core.client.GWT.create(GWT.java:97)

                              at org.jboss.errai.marshalling.client.api.MarshallerFramework.<clinit>(MarshallerFramework.java:42)

                              at java.lang.Class.forName0(Native Method)

                              at java.lang.Class.forName(Class.java:264)

                              at com.google.gwt.dev.shell.ModuleSpace.loadClassFromSourceName(ModuleSpace.java:654)

                              at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:363)

                              at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)

                              at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)

                              at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)

                              at java.lang.Thread.run(Thread.java:722)

                     

                    I'm using:

                     

                    {code}

                    @Portable

                    public class SubObject extends ParentObject{

                         public SubObject(){

                              super();

                         }

                    }

                     

                    public abstract class ParentObject{

                         public ParentObject(){}

                     

                              public Id id;

                              public Id getId(){

                              return this.id;

                              }

                              public void setId(Id id){

                              this.id = id;

                              }

                    }

                     

                     

                    @Portable

                    public class Id{

                              IntegerChain firstInteger=new IntegerChain(0);

                              int length=1;

                     

                              public IntegerChain getFirstInteger() {

                                        return firstInteger;

                              }

                     

                              public void setFirstInteger(IntegerChain firstInteger) {

                                        this.firstInteger = firstInteger;

                              }

                     

                              public int getLength() {

                                        return length;

                              }

                     

                              public void setLength(int length) {

                                        this.length = length;

                              }

                     

                              public Id(){}

                    }

                     

                     

                    @Portable

                    public class IntegerChain{

                     

                              int integer = 0;

                     

                              IntegerChain next=null;

                     

                              public int getInteger() {

                                        return integer;

                              }

                     

                              public void setInteger(int integer) {

                               this.integer = integer;

                              }

                     

                              public IntegerChain getNext() {

                              return next;

                              }

                     

                              public void setNext(IntegerChain next) {

                               this.next = next;

                              }

                     

                              public IntegerChain(int integer){

                               this.integer=integer;

                              }

                     

                              public IntegerChain(){

                               this.integer=0;

                              }

                     

                    }

                    {code}

                     

                    ?

                     

                    If these are ok, then what (probably tiny thing) could be raising the above error?

                    • 7. Re: What causes this error during marshaller generation: RuntimeException: no such field: null?
                      navigateur

                      Can anybody see anything wrong with the above classes to give me this error? If not, what (probably tiny thing) could be raising it?

                      • 8. Re: What causes this error during marshaller generation: RuntimeException: no such field: null?
                        navigateur

                        The problem seemed to go when I removed "public" from the abstract class variables, but then I got a new error ("FileNotFoundException: .../ServerMarshallingFactoryImpl.class"). Is disallowing public variables a necessary restriction? It didn't seem to exist in errai 1.3.