users@wadl.java.net

RE: WadlGeneratorResourceDoc NullPointerException

From: Hadley, Marc J <mhadley_at_mitre.org>
Date: Mon, 2 Aug 2010 09:28:05 -0400

Please resend this email to users_at_jersey.dev.java.net<mailto:users_at_jersey.dev.java.net>. The WADL generation code in Jersey is not part of the wadl.dev.java.net project codebase.

Thanks,
Marc.

From: Patrick Sauts [mailto:patrick.viadeo_at_gmail.com]
Sent: Monday, July 19, 2010 10:20 AM
To: users_at_wadl.dev.java.net
Subject: WadlGeneratorResourceDoc NullPointerException

Hello,

I've just updated jersey version to 1.3 and I'm facing a curious behavior generating extended wadl.
Using the wadl-resourcedoc-doclet maven task to write the wadl to a file I just had to change xercesImpl to version 2.8.1 and it works fine.
But when starting the server (tomcat 6) I have this error:

java.lang.NullPointerException
      at com.sun.jersey.server.wadl.generators.resourcedoc.WadlGeneratorResourceDocSupport.createParam(WadlGeneratorResourceDocSupport.java:325)
      at com.sun.jersey.server.wadl.WadlBuilder.generateParam(WadlBuilder.java:260)
      at com.sun.jersey.server.wadl.WadlBuilder.generateRequest(WadlBuilder.java:191)
      at com.sun.jersey.server.wadl.WadlBuilder.generateMethod(WadlBuilder.java:155)
      at com.sun.jersey.server.wadl.WadlBuilder.generateResource(WadlBuilder.java:282)
      at com.sun.jersey.server.wadl.WadlBuilder.generateResource(WadlBuilder.java:265)
      at com.sun.jersey.server.wadl.WadlBuilder.generate(WadlBuilder.java:101)


In fact "_delegate.createParam( r, m, p );" line 320 of WadlGenerator class return null.

The resource, the error appends on, has those annotations:
      @POST
      @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
      @Produces( { MediaType.TEXT_PLAIN })
Public Response stuff(@FormParam("stuff") Integer stuff1, ....)



My maven dependencies:
                <properties>
                               ...
                               <com.sun.jersey.version>1.3</com.sun.jersey.version>
                </properties>
                               ...
                               <!-- Third party libraries -->
                               <dependency>
                                               <groupId>com.sun.xml.bind</groupId>
                                               <artifactId>jaxb-impl</artifactId>
                                               <version>2.2.1.1</version>
                               </dependency>
                               <dependency>
                                               <groupId>com.sun.jersey</groupId>
                                               <artifactId>jersey-server</artifactId>
                                               <version>${com.sun.jersey.version}</version>
                               </dependency>
                               <dependency>
                                               <groupId>com.sun.jersey</groupId>
                                               <artifactId>jersey-json</artifactId>
                                               <version>${com.sun.jersey.version}</version>
                                               <exclusions>
                                                               <exclusion>
                                                                              <groupId>com.sun.xml.bind</groupId>
                                                                              <artifactId>jaxb-impl</artifactId>
                                                               </exclusion>
                                               </exclusions>
                               </dependency>
                               <dependency>
                                               <groupId>com.sun.jersey.contribs</groupId>
                                               <artifactId>jersey-spring</artifactId>
                                               <version>1.3</version>
                               </dependency>

I'm looking for a solution if you can help me.

Thank you in advance.
Patrick.