2010-04-06 75 views
2

我正在使用JAX-WS(JSR 224's)@WebService和@WebMethod批注创建webservice。尽管我找到了the specification,但我无法找到我在任何地方记录的限制。wsgen限制:什么构造以避免

这里就是我经历了到目前为止使用具备JDK 6 JAX-WS 2.1.6跌跌撞撞:

  • 不能使用接口,参数,返回值或对象成员
  • 所有类都必须提供无参数默认构造函数

wsgen有什么限制?我应该避免哪些构造?

我也偶然发现了一些奇怪的错误,所有这些似乎类似以下内容,这可能是一个错误:

Note: ap round: 1 
Problem encountered during annotation processing; 
see stacktrace below for more information. 
java.lang.NullPointerException 
     at com.sun.tools.internal.ws.processor.modeler.annotation.WebServiceVisitor.isLegalType(WebServiceVisitor.java:770) 
     at com.sun.tools.internal.ws.processor.modeler.annotation.WebServiceVisitor.isLegalMethod(WebServiceVisitor.java:618) 
     at com.sun.tools.internal.ws.processor.modeler.annotation.WebServiceVisitor.methodsAreLegal(WebServiceVisitor.java:588) 
     at com.sun.tools.internal.ws.processor.modeler.annotation.WebServiceVisitor.isLegalImplementation(WebServiceVisitor.java:506) 
     at com.sun.tools.internal.ws.processor.modeler.annotation.WebServiceVisitor.shouldProcessWebService(WebServiceVisitor.java:309) 
     at com.sun.tools.internal.ws.processor.modeler.annotation.WebServiceVisitor.visitClassDeclaration(WebServiceVisitor.java:112) 
     at com.sun.tools.apt.mirror.declaration.ClassDeclarationImpl.accept(ClassDeclarationImpl.java:95) 
     at com.sun.tools.internal.ws.processor.modeler.annotation.WebServiceAP.buildModel(WebServiceAP.java:315) 
     at com.sun.tools.internal.ws.processor.modeler.annotation.WebServiceAP.process(WebServiceAP.java:256) 
     at com.sun.mirror.apt.AnnotationProcessors$CompositeAnnotationProcessor.process(AnnotationProcessors.java:60) 
     at com.sun.tools.apt.comp.Apt.main(Apt.java:454) 
     at com.sun.tools.apt.main.JavaCompiler.compile(JavaCompiler.java:258) 
     at com.sun.tools.apt.main.Main.compile(Main.java:1102) 
     at com.sun.tools.apt.main.Main.compile(Main.java:964) 
     at com.sun.tools.apt.Main.processing(Main.java:95) 
     at com.sun.tools.apt.Main.process(Main.java:85) 
     at com.sun.tools.apt.Main.process(Main.java:67) 
     at com.sun.tools.internal.ws.wscompile.WsgenTool.buildModel(WsgenTool.java:204) 
     at com.sun.tools.internal.ws.wscompile.WsgenTool.run(WsgenTool.java:112) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at com.sun.tools.internal.ws.Invoker.invoke(Invoker.java:105) 
     at com.sun.tools.internal.ws.WsGen.main(WsGen.java:41) 
error: compilation failed, errors should have been reported 

回答