11 Replies Latest reply on Sep 21, 2011 2:16 AM by FidelGonzo

    Class contains overloaded method and is not supported for introspection

    Sebastien Arbogast

      I'm having some trouble with Flash Builder's Data Connectivity wizard. I'm trying to generate service stubs for a Grails application. It's Groovy code so it ends up being compiled into pure Java byte code. I've got flex.rds.server.servlet.FrontEndServlet running fine and when I click "Connect to Data/Service...", choose BlazeDS and hit next, I can see my service in the list. But then when I hit "Finish", I get an error message saying "com.epseelon.grails.blazeds.EchoService contains overloaded method and is not supported for introspection".

       

      Yet when I decompile the class, here is my service class:

       

      package com.epseelon.grails.blazeds;

       

      import groovy.lang.GroovyObject;
      import groovy.lang.MetaClass;
      import org.codehaus.groovy.runtime.ScriptBytecodeAdapter;
      import org.codehaus.groovy.runtime.callsite.CallSite;
      import org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation;

       

      public class EchoService
        implements GroovyObject
      {
        private boolean transactional;

       

        public EchoService()
        {
          EchoService this;
          CallSite[] arrayOfCallSite = $getCallSiteArray();
          Boolean tmp11_8 = Boolean.TRUE;
          this.transactional = DefaultTypeTransformation.booleanUnbox(tmp11_8);
          tmp11_8;
          EchoService tmp22_21 = this;
          tmp22_21.metaClass = tmp22_21.$getStaticMetaClass();
          MetaClass tmp33_30 = this.metaClass;
          this.metaClass = ((MetaClass)ScriptBytecodeAdapter.castToType(tmp33_30, $get$$class$groovy$lang$MetaClass()));
          tmp33_30;
          while (true)
            return;
        }

       

        public String echo(String message)
        {
          for (CallSite[] arrayOfCallSite = $getCallSiteArray(); ; return ((String)ScriptBytecodeAdapter.castToType(arrayOfCallSite[0].call(message), $get$$class$java$lang$String())));
        }

       

        static
        {
           tmp10_3 = new Long(0L);
          __timeStamp__239_neverHappen1269645845320 = (Long)tmp10_3;
          tmp10_3;
           tmp28_21 = new Long(1269645845320L);
          __timeStamp = (Long)tmp28_21;
          tmp28_21;
          Class tmp48_45 = ((Class)ScriptBytecodeAdapter.castToType($get$$class$com$epseelon$grails$blazeds$EchoServ ice(), $get$$class$java$lang$Class()));
          $ownClass = (Class)tmp48_45;
          tmp48_45;
          return;
          while (true)
            return;
        }

       

        public boolean getTransactional()
        {
          return this.transactional;
        }

       

        public boolean isTransactional()
        {
          return this.transactional;
        }

       

        public void setTransactional(boolean paramBoolean)
        {
          this.transactional = paramBoolean;
        }
      }

       

      Any idea what it is that Flash Builder doesn't like in there?