users@jersey.java.net

Re: [Jersey] WadlGeneratorResourceDoc NullPointerException

From: Pavel Bucek <Pavel.Bucek_at_Sun.COM>
Date: Wed, 21 Jul 2010 00:17:06 +0200

Hello Patrick,

can you provide minimal reproducible testcase?

I added method

     @POST
     @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
     @Produces( { MediaType.TEXT_PLAIN })
     public String test(@FormParam("contractType") Integer stuff1) {
         return "test";
     }

to ItemResource in extended-wadl-webapp sample and I got:

...
<ns2:method name="POST" id="test">
<ns2:request>
<ns2:representation mediaType="application/x-www-form-urlencoded">
<ns2:param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int"
style="query" name="contractType"/>
</ns2:representation>
</ns2:request>
<ns2:response>
<ns2:representation mediaType="text/plain"/>
</ns2:response>
</ns2:method>
...

No exception was thrown during wadl generation.

Regards,
Pavel

On 7/19/10 1:51 PM, Patrick Sauts wrote:
>
> 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.
>
> _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("contractType") 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.
>