Hi Ivan, I tested in linux redhat 6.1 x86_64, using eclipse3.7sr1, including IAskQuestionBean, AskQuestionBean and SayHelloServlet, it works well. Server has no problem.
Thank you! On Sun, Mar 25, 2012 at 9:39 PM, li yanli <[email protected]> wrote: > Hi Sim085, > > for the sample I tested is the WebServiceExample that you first used. > > For the AskQuestion sample, you need to change the class > SayHelloServlet and updated like this: > > public void init() { > try { > QName qname = new QName("namespaceOfgeneratedWSDL", > "AskQuestionService"); > URL url = new URL( > > "http://localhost:8080/AskQuestionService/IAskQuestionBean?wsdl"); > > Service service = Service.create(url, qname); > > askQuestionBean = > service.getPort(IAskQuestionBean.class); > > } catch (Exception e) { > System.out.println("ERROR HERE:" + e.toString()); > } > } > > > > On Sun, Mar 25, 2012 at 7:39 PM, Ivan <[email protected]> wrote: >> Think that the error message is correct, actually, Geronimo uses RI package >> to generate the WSDL files and those jaxb classes, so it should have the >> same behavior with Glassfish. >> >> >> 2012/3/24 sim085 <[email protected]> >>> >>> Hi Ivan, sorry for the mistake in code, it is because I re-wrote the >>> example >>> rather then copy and paste it. I confirm endpointName is correct, >>> ejb.IAskQuestionBean. >>> >>> Here is the code: >>> >>> [code] >>> @Stateless >>> @WebService(serviceName="AskQuestionService", name="AskQuestion", >>> endpointInterface="ejb.IAskQuestionBean") >>> public class AskQuestionBean implements IAskQuestionBean{ >>> ... >>> } >>> [/code] >>> >>> In geronimo.log I could not find anything else. However when I checked >>> geronimo.out I found the following exception: >>> >>> [code] >>> Problem encountered during annotation processing; >>> see stacktrace below for more information. >>> com.sun.tools.ws.processor.modeler.ModelerException: modeler error: The >>> @javax.jws.WebService.name element cannot be used in with >>> @javax.jws.WebService.endpointInterface element. >>> at >>> >>> com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.onError(WebServiceAP.java:244) >>> at >>> >>> com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor.annotationError(WebServiceVisitor.java:196) >>> at >>> >>> com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor.visitClassDeclaration(WebServiceVisitor.java:141) >>> at >>> >>> com.sun.tools.apt.mirror.declaration.ClassDeclarationImpl.accept(ClassDeclarationImpl.java:113) >>> at >>> >>> com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.buildModel(WebServiceAP.java:334) >>> at >>> >>> com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.process(WebServiceAP.java:275) >>> at >>> >>> com.sun.mirror.apt.AnnotationProcessors$CompositeAnnotationProcessor.process(AnnotationProcessors.java:84) >>> at com.sun.tools.apt.comp.Apt.main(Apt.java:480) >>> at >>> com.sun.tools.apt.main.AptJavaCompiler.compile(AptJavaCompiler.java:270) >>> at com.sun.tools.apt.main.Main.compile(Main.java:1127) >>> at com.sun.tools.apt.main.Main.compile(Main.java:989) >>> at com.sun.tools.apt.Main.processing(Main.java:113) >>> at com.sun.tools.apt.Main.process(Main.java:103) >>> at com.sun.tools.apt.Main.process(Main.java:85) >>> at >>> com.sun.tools.ws.wscompile.WsgenTool.buildModel(WsgenTool.java:222) >>> at com.sun.tools.ws.wscompile.WsgenTool.run(WsgenTool.java:126) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>> at >>> >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>> at java.lang.reflect.Method.invoke(Method.java:601) >>> at com.sun.tools.ws.Invoker.invoke(Invoker.java:135) >>> at com.sun.tools.ws.WsGen.main(WsGen.java:57) >>> error: compilation failed, errors should have been reported >>> >>> 2012-03-24 09:20:12,277 ERROR [EjbModuleBuilder] >>> JAXWSEJBModuleBuilderExtension.addGBeans() failed: WSDL generation failed >>> org.apache.geronimo.common.DeploymentException: WSDL generation failed >>> at >>> >>> org.apache.geronimo.jaxws.sun.tools.WsdlGenerator.generateWsdl(WsdlGenerator.java:176) >>> at >>> >>> org.apache.geronimo.jaxws.sun.tools.SunWsdlGenerator.generateWsdl(SunWsdlGenerator.java:34) >>> at >>> >>> org.apache.geronimo.axis2.builder.Axis2Builder.initialize(Axis2Builder.java:153) >>> at >>> >>> org.apache.geronimo.jaxws.builder.JAXWSServiceBuilder.configureEJB(JAXWSServiceBuilder.java:378) >>> at >>> >>> org.apache.geronimo.jaxws.ejb.builder.JAXWSEJBModuleBuilderExtension.addGBeans(JAXWSEJBModuleBuilderExtension.java:249) >>> at >>> >>> org.apache.geronimo.openejb.deployment.EjbModuleBuilder.doAddGBeans(EjbModuleBuilder.java:1247) >>> at >>> >>> org.apache.geronimo.openejb.deployment.EjbModuleBuilder.addGBeans(EjbModuleBuilder.java:1146) >>> at >>> >>> org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:763) >>> at >>> org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:255) >>> at >>> org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:140) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>> at >>> >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>> at java.lang.reflect.Method.invoke(Method.java:601) >>> at >>> >>> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34) >>> at >>> >>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:131) >>> at >>> >>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:883) >>> at >>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:245) >>> at >>> >>> org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDeploy(AbstractDeployCommand.java:116) >>> at >>> >>> org.apache.geronimo.deployment.plugin.local.DistributeCommand.run(DistributeCommand.java:61) >>> at java.lang.Thread.run(Thread.java:722) >>> [/code] >>> >>> I guess “The @javax.jws.WebService.name element cannot be used in with >>> @javax.jws.WebService.endpointInterface element.” says it all. >>> >>> Checked @WebService api which seems to indicate that this statement is >>> correct since endpointName element sets portType and bindings and name >>> element sets portType (already set by endpointName element). Do not know >>> therefore which is right or wrong … maybe both :) >>> >>> >>> Ivan Xu wrote >>> > >>> > There should be other error message in the log, could you check that ? >>> > Also, I found that in the new codes, endpointInterface is configured >>> > with >>> > ejb.AskQuestionBean, which is different with your previous codes. >>> > >>> >>> >>> >>> >>> -- >>> View this message in context: >>> http://apache-geronimo.328035.n3.nabble.com/Webservice-example-working-on-glassfish3-but-not-on-geronimo-tomcat7-javaee6-3-0-beta-1-tp3830574p3853534.html >>> Sent from the Users mailing list archive at Nabble.com. >> >> >> >> >> -- >> Ivan > > > > -- > > > > > > > > > > > > > > > > > > > Best Wishes! > Tina Li -- Best Wishes! Tina Li
