Hi Ajay pls see my comments below Ajay Upadhyaya wrote:
> Hi, > I'm in process of migrating from axis1.x, I was using Message style > services in my application > signatures were like Document method(Document in) > > Which I've changed to OMElement method(OMElement in).The code > migration went okay, app works fine. I found one issue (for which I > needed workaround in my code). Here is the scenario > > class ServiceClass > { > //service wrapper > public OMElement operation1(OMElement in){.... } > //real implementation of service > OMElement operation1(){.... } > } > > services.xml > --------------------- > <service name="myservice"> > <description> > my web service > </description> > <parameter name="ServiceClass" > locked="false">ServiceClass</parameter> > <operation name="operation1"> > <messageReceiver > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> > <actionMapping>urn:operation1</actionMapping> > </operation> > </service> > > During initialization following exception is thrown > ERROR [org.apache.axis2.deployment.ServiceBuilder] - Error in schema > generating Sorry we don't support methods overloading !!!! > java.lang.Exception: Sorry we don't support methods overloading !!!! > at > org.apache.ws.java2wsdl.SchemaGenerator.generateSchema(SchemaGenerator.java:143) > at org.apache.axis2.deployment.util.Utils.fillAxisService > (Utils.java:213) > at > org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:149) > at > org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(ServiceGroupBuilder.java:91) > at > org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:84) > at > org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:118) > at > org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:620) > at > org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:195) > at org.apache.axis2.deployment.RepositoryListener.update > (RepositoryListener.java:207) > at > org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:155) > at > org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:91) > > at > org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBasedAxisConfigurator.java:142) > at > org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java > :42) > at > org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:213) > at > org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:182) > > - To workaround this, I had to create a base class and move the real > implementation method in base class > > class BaseClass > { > //real implementation of service > OMElement operation1(){.... } > } > > class ServiceClass extends BaseClass > { > //service wrapper > public OMElement operation1(OMElement in){.... } > } > > Looking into the axis source, found that > org.apache.ws.java2wsdl.SchemaGenerator.generateSchema method uses > getDeclaredMethods() call to find the methods in the service class, > and as getDeclaredMethods does not returns methods inherited by a > class, the workaround works. > > The irony is that, in my case, since I'm not using RPC message > receivers, the SchemaGenerator class anyway is not useful, as it does > not work for non RPC cases When you are using message receivers other than RPC , it should not try to generate wsdl for you. So if you getting this error when you use RawXML Message Receiver its a bug in Axis2. Why dont you create JIRA ? > > I'm wondering if not seeing inherited methods is a bug or a feature... > but either way, this could be put somewhere in documentation. The > message Sorry we don't support methods overloading is a bit misleading > as I'm using overloaded (inherited) methods. +1 > > -Ajay Upadhyaya > -- Thanks, Deepal ................................................................ ~Future is Open~ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]