i trying out wsdl generation of wsgen tool. have endorsed jaxb-api.jar , jaxws-api.jar files.
i have library testto has testingto class as
public class testingto implements serializable{ public string name; }
this testto library included in webservice project.
my webservice below-
@webservice() public class icfinfra { @webmethod(operationname = "printtest") public testingto printtest(@webparam(name = "string") string string) { testingto = new testingto(); to.name = string; system.out.println(string); return to; } }
when run ant script wsgen following error -
main: [exec] note: ap round: 1 [exec] problem encountered during annotation processing; [exec] see stacktrace below more information. [exec] java.lang.nullpointerexception [exec] @ com.sun.tools.ws.processor.modeler.annotation.webservicevisit or.islegaltype(webservicevisitor.java:794) [exec] @ com.sun.tools.ws.processor.modeler.annotation.webservicevisit or.islegalmethod(webservicevisitor.java:642) [exec] @ com.sun.tools.ws.processor.modeler.annotation.webservicevisit or.methodsarelegal(webservicevisitor.java:611) [exec] @ com.sun.tools.ws.processor.modeler.annotation.webservicevisit or.islegalimplementation(webservicevisitor.java:529) [exec] @ com.sun.tools.ws.processor.modeler.annotation.webservicevisit or.shouldprocesswebservice(webservicevisitor.java:332) [exec] @ com.sun.tools.ws.processor.modeler.annotation.webservicevisit or.visitclassdeclaration(webservicevisitor.java:123) [exec] @ com.sun.tools.apt.mirror.declaration.classdeclarationimpl.acc ept(classdeclarationimpl.java:95) [exec] @ com.sun.tools.ws.processor.modeler.annotation.webserviceap.bu ildmodel(webserviceap.java:329) [exec] @ com.sun.tools.ws.processor.modeler.annotation.webserviceap.pr ocess(webserviceap.java:270) [exec] @ com.sun.mirror.apt.annotationprocessors$compositeannotationpr ocessor.process(annotationprocessors.java:60) [exec] @ com.sun.tools.apt.comp.apt.main(apt.java:454) [exec] @ com.sun.tools.apt.main.javacompiler.compile(javacompiler.java :258) [exec] @ com.sun.tools.apt.main.main.compile(main.java:1102) [exec] @ com.sun.tools.apt.main.main.compile(main.java:964) [exec] @ com.sun.tools.apt.main.processing(main.java:95) [exec] @ com.sun.tools.apt.main.process(main.java:85) [exec] @ com.sun.tools.apt.main.process(main.java:67) [exec] @ com.sun.tools.ws.wscompile.wsgentool.buildmodel(wsgentool.jav a:219) [exec] @ com.sun.tools.ws.wscompile.wsgentool.run(wsgentool.java:123) [exec] @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) [exec] @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodacces sorimpl.java:39) [exec] @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmet hodaccessorimpl.java:25) [exec] @ java.lang.reflect.method.invoke(method.java:597) [exec] @ com.sun.tools.ws.invoker.invoke(invoker.java:131) [exec] @ com.sun.tools.ws.wsgen.main(wsgen.java:52) [exec] error: compilation failed, errors should have been reported [exec] result: 1
now modified webservice as
@webservice() @xmlseealso({ testingto.class }) public class icfinfra { ... }
when execute ant script error -
main: [exec] exception in thread "main" java.lang.arraystoreexception: sun.reflec t.annotation.typenotpresentexceptionproxy [exec] @ sun.reflect.annotation.annotationparser.parseclassarray(annot ationparser.java:653) [exec] @ sun.reflect.annotation.annotationparser.parsearray(annotation parser.java:460) [exec] @ sun.reflect.annotation.annotationparser.parsemembervalue(anno tationparser.java:286) [exec] @ sun.reflect.annotation.annotationparser.parseannotation(annot ationparser.java:222) [exec] @ sun.reflect.annotation.annotationparser.parseannotations2(ann otationparser.java:69) [exec] @ sun.reflect.annotation.annotationparser.parseannotations(anno tationparser.java:52) [exec] @ java.lang.class.initannotationsifnecessary(class.java:3070) [exec] @ java.lang.class.getannotation(class.java:3029) [exec] @ com.sun.tools.ws.wscompile.wsgenoptions.validateendpointclass (wsgenoptions.java:244) [exec] @ com.sun.tools.ws.wscompile.wsgenoptions.validate(wsgenoptions .java:226) [exec] @ com.sun.tools.ws.wscompile.wsgentool.run(wsgentool.java:122) [exec] @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) [exec] @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodacces sorimpl.java:39) [exec] @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmet hodaccessorimpl.java:25) [exec] @ java.lang.reflect.method.invoke(method.java:597) [exec] @ com.sun.tools.ws.invoker.invoke(invoker.java:131) [exec] @ com.sun.tools.ws.wsgen.main(wsgen.java:52)
appreciate if can let me know needs done in order sucessfully generate wsdl.
thanks, adish
i usualy use cxf soap implementation , maven project configuration, see link @ end (there sample project download). guess have set accessor type testingto class (see javadoc):
@xmlaccessortype( xmlaccesstype.field ) public class testingto implements serializable{ public string name; }
cxf: defining contract first webservices wsdl generation java
Comments
Post a Comment