users@jersey.java.net

RE: [Jersey] 400 Bad Request (bug?)

From: Jordi Domingo <noseya_at_hotmail.com>
Date: Tue, 22 Sep 2009 23:50:30 +0200

Thanks for answering Greg.
Its true what you say, java speaking but I disagree. I think this is a bug. Having a parameter with no value must be translated to a null. I've been working many years with java servers and i've never seen something like this.
I cant give a 0 to a null value, its not valid for me. Anyway its easy to overcome this problem, but i preferred not doing that.
If you test a form in a browser, you'll see that all param names are encoded, with or without value.
Thanks again for your interest Greg,
Jordi

From: ggiacovelli_at_ea.com
To: users_at_jersey.dev.java.net
Date: Tue, 22 Sep 2009 13:28:36 -0700
Subject: RE: [Jersey] 400 Bad Request (bug?)




















Yes, but that’s the point.

 

Since your request payload was in the form

identifier=identifier&usersId=1&statusId=1&weaknessesId=4&name=name&description=description&visibility=I&standardProvidersCodesId=&severity=2&difficulty=2&risk=1

 

the
string value “” (empty string) will be passed to the constructor or static
function of Long. This is an invalid value for a long and will probably throw a
runtime exception.

 

Something like the following would be triggered for it.

Exception in thread "main"
java.lang.NumberFormatException: For input string: ""

        at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)

        at java.lang.Long.parseLong(Long.java:424)

        at java.lang.Long.valueOf(Long.java:518)

 

So again I still don’t think this is a bug, more so that you are
sending the request with an empty string rather than a null.

 

You might be able to try using a Long instance still in the
parameter list of the method and just not specifying the
standardProviderCodesId at all on the form payload. And then just making sure
to specify a default value, @DefaultValue(0)(I assume you are trying to get a 0
value if none specified). Not sure if that will work for what you are trying to
achieve.

 

Hope it helps.

 

-Greg

 





From: Jordi Domingo
[mailto:noseya_at_hotmail.com]

Sent: Tuesday, September 22, 2009 10:48 AM

To: users_at_jersey.dev.java.net

Subject: RE: [Jersey] 400 Bad Request (bug?)





 

Thats
exactly what you said but.. Long has a constructor that accepts a single String
argument http://java.sun.com/javase/6/docs/api/java/lang/Long.html#Long(java.lang.String)
but also has a static valueOf so it should work fine.



 





Thanks,





 





Jordi



 







From: ggiacovelli_at_ea.com

To: users_at_jersey.dev.java.net

Date: Tue, 22 Sep 2009 10:17:25 -0700

Subject: RE: [Jersey] 400 Bad Request (bug?)



I think this is just the way the spec is written.

 

1. Primitive types 19

2. Types that have a constructor that accepts a
single String
argument 20

3. Types that have a static method named valueOf with a single String argument 21

4.
List<T>, Set<T>, or SortedSet<T>, where T satisfies 2 or 3 above.

 

FormParam is said to be similar to the constructs which bind the
others (QueryParam,PathParam, etc).

 

The
other examples you mention use String.ValueOf(“”) which is valid as “”;

 

 

@FormParam("standardProvidersCodesId")
Long standardProvidersCodesId

By
default this should do Long.valueOf(“”). This does not seem to be valid, and
results in the 400 I presume.

 

 

This
does not seem like a bug.

 

-Greg

 

 





From: Jordi Domingo
[mailto:noseya_at_hotmail.com]

Sent: Tuesday, September 22, 2009 8:09 AM

To: users_at_jersey.dev.java.net

Subject: RE: [Jersey] 400 Bad Request (bug?)





 

Hi
again.



 





Im
quite sure this is a bug. This happens when the param is a number, but never
when it is a String.





 





Let's see what Jersey people say :)





Thanks





 





Jordi







From:
noseya_at_hotmail.com

To: users_at_jersey.dev.java.net

Date: Tue, 22 Sep 2009 16:30:18 +0200

Subject: RE: [Jersey] 400 Bad Request (bug?)



Thanks for replying Herak.



 





The
class is annotated:





 







@Path("/projects/{projectId:
[0-9]{1,8}}/vulnerabilities")





public
class VulnerabilitiesResource{





 





..





 







@POST





         
@Produces({"application/json"})





         
public
Response post(@Context UriInfo uriInfo, @PathParam("projectId") int
projectId, @FormParam("identifier") String identifier,





                                                         
@FormParam("usersId")
Long usersId, @FormParam("statusId") Integer statusId,
@FormParam("weaknessesId") Integer weaknessesId,





                                                         
@FormParam("name")
String name, @FormParam("description") String description,
@FormParam("consequences") String consequences,





                                                         
@FormParam("mitigations")
String mitigations, @FormParam("cvssBase") java.math.BigDecimal
cvssBase,





                                                         
@FormParam("cvssTemporal")
java.math.BigDecimal cvssTemporal, @FormParam("cvssEnvironment")
java.math.BigDecimal cvssEnvironment,





                                                         
@FormParam("standardProvidersCodesId")
Long standardProvidersCodesId, @FormParam("visibility") String
visibility,





                                                         
@FormParam("severity")
Integer severity, @FormParam("difficulty") Integer difficulty,
@FormParam("probability") Integer probability,





                                                         
@FormParam("risk")
Integer risk) throws SystemException{





...





}





 





 





The
same way like assets, assets works fine, this one no. Anything else to check?





 





Thanks,





 





Jordi





 







From: HSen_at_vertrax.com

To: users_at_jersey.dev.java.net

Date: Tue, 22 Sep 2009 10:12:54 -0400

Subject: RE: [Jersey] 400 Bad Request (bug?)



Can you double check the path?

If ‘/project’ is the root resource then the ‘/vulnerabilities/new’
is the sub resource, therefore the method (‘post’) will need
@Path(“{projectId}/vulnerabilities/new”) annotation

 

Herak

 





From: Jordi Domingo
[mailto:noseya_at_hotmail.com]

Sent: Tuesday, September 22, 2009 8:57 AM

To: users_at_jersey.dev.java.net

Subject: RE: [Jersey] 400 Bad Request (bug?)





 

I
cant understand why its happening this.. in other places i make requests like
the one that fails and work fine



 







POST
/projects/1/assets HTTP/1.1





Host:
localhost





User-Agent:
Mozilla/5.0 (Windows; U; Windows NT 6.0; es-ES; rv:1.9.1.3) Gecko/20090824
Firefox/3.5.3 (.NET CLR 3.5.30729)





Accept:
application/json, text/javascript, */*





Accept-Language:
ca,en-us;q=0.7,it;q=0.3





Accept-Encoding:
gzip,deflate





Accept-Charset:
ISO-8859-1,utf-8;q=0.7,*;q=0.7





Keep-Alive:
300





Proxy-Connection:
keep-alive





Content-Type:
application/x-www-form-urlencoded; charset=UTF-8





X-Requested-With:
XMLHttpRequest





Referer:
http://localhost/projects/1/assets/new





Cookie:
JSESSIONID=1bb45c8173eba1145cf57e0ed37e





Pragma:
no-cache





Cache-Control:
no-cache





Content-Length:
31





 





environment=&url=&ip=&hostname=





 





Response
is 200 OK





 





My
Java method is declared this way (but the request didnt reach my code):







@POST





@Produces({"application/json"})





public
Response post(@Context UriInfo uriInfo, @PathParam("projectId") int
projectId, @FormParam("identifier") String identifier,





                                                         
@FormParam("usersId")
Long usersId, @FormParam("statusId") Integer statusId,
@FormParam("weaknessesId") Integer weaknessesId,





                                                         
@FormParam("name")
String name, @FormParam("description") String description,
@FormParam("consequences") String consequences,





                                                         
@FormParam("mitigations")
String mitigations, @FormParam("cvssBase") java.math.BigDecimal
cvssBase,





                                                         
@FormParam("cvssTemporal")
java.math.BigDecimal cvssTemporal, @FormParam("cvssEnvironment")
java.math.BigDecimal cvssEnvironment,





                                                         
@FormParam("standardProvidersCodesId")
Long standardProvidersCodesId, @FormParam("visibility") String
visibility,





                                     
                  
@FormParam("severity")
Integer severity, @FormParam("difficulty") Integer difficulty,
@FormParam("probability") Integer probability,





                                                         
@FormParam("risk")
Integer risk) throws SystemException{





....





}





 





Any
help is appreciated.





 







From:
noseya_at_hotmail.com

To: users_at_jersey.dev.java.net

Date: Tue, 22 Sep 2009 13:50:08 +0200

Subject: [Jersey] 400 Bad Request (bug?)



Hi all :)



 





I'm
getting this error, and i think that is a bug. This is my request:





 









POST
/projects/1/vulnerabilities HTTP/1.1





Host:
localhost





User-Agent:
Mozilla/5.0 (Windows; U; Windows NT 6.0; es-ES; rv:1.9.1.3) Gecko/20090824
Firefox/3.5.3 (.NET CLR 3.5.30729)





Accept:
application/json, text/javascript, */*





Accept-Language:
ca,en-us;q=0.7,it;q=0.3





Accept-Encoding:
gzip,deflate





Accept-Charset:
ISO-8859-1,utf-8;q=0.7,*;q=0.7





Keep-Alive:
300





Proxy-Connection:
keep-alive





Content-Type:
application/x-www-form-urlencoded; charset=UTF-8





X-Requested-With:
XMLHttpRequest





Referer:
http://localhost/projects/1/vulnerabilities/new





Cookie:
JSESSIONID=16f95e59d3b1b0e954310c190c60





Content-Length:
161





 





identifier=identifier&usersId=1&statusId=1&weaknessesId=4&name=name&description=description&visibility=I&standardProvidersCodesId=&severity=2&difficulty=2&risk=1





 





THe
response is 400 Bad Request.





 





What
you see in bold is causing the bad request. Take it out and works fine.





 





Thanks,





 





Jordi







 







Charlas
más divertidas con el nuevo Windows Live
Messenger



 







Comparte
tus fotos con tus amigos. Más fácil con Windows
Live





 







Diferentes
formas de estar en contacto con amigos y familiares. Descúbrelas. Descúbrelas.



 







Nuevo
Windows Live, un mundo lleno de posibilidades Descúbrelo.







 







Diferentes
formas de estar en contacto con amigos y familiares. Descúbrelas. Descúbrelas.

                                                _________________________________________________________________ Descubre todas las formas en que puedes estar en contacto con amigos y familiares. http://www.microsoft.com/windows/windowslive/default.aspx
--_42ca5370-a696-40e9-a0c2-f84cbb3601d4_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Thanks for answering Greg.<div><br></div><div>Its true what you say, java speaking but&nbsp;I disagree.&nbsp;I think this is a bug. Having a parameter with no value must be translated to a null. I've been working many years with java servers and i've never seen something like this.</div><div><br></div><div>I cant give a 0 to a null value, its not valid for me. Anyway its easy to overcome this problem, but i preferred not doing that.</div><div><br></div><div>If you test a form in a browser, you'll see that all param names are encoded, &nbsp;with or without value.</div><div><br></div><div>Thanks again for your interest Greg,</div><div><br></div><div>Jordi<br><br><hr id="stopSpelling">From: ggiacovelli_at_ea.com<br>To: users_at_jersey.dev.java.net<br>Date: Tue, 22 Sep 2009 13:28:36 -0700<br>Subject: RE: [Jersey] 400 Bad Request (bug?)<br><br>








<style>
.ExternalClass .ecxshape
{;}
</style>

<style>
.ExternalClass p.ecxMsoNormal, .ExternalClass li.ecxMsoNormal, .ExternalClass div.ecxMsoNormal
{margin-bottom:.0001pt;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass a:link, .ExternalClass span.ecxMsoHyperlink
{color:blue;text-decoration:underline;}
.ExternalClass a:visited, .ExternalClass span.ecxMsoHyperlinkFollowed
{color:purple;text-decoration:underline;}
.ExternalClass p
{margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass p.ecxecxmsonormal, .ExternalClass li.ecxecxmsonormal, .ExternalClass div.ecxecxmsonormal
{margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass p.ecxecxecxmsonormal, .ExternalClass li.ecxecxecxmsonormal, .ExternalClass div.ecxecxecxmsonormal
{margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass p.ecxecxecxmsochpdefault, .ExternalClass li.ecxecxecxmsochpdefault, .ExternalClass div.ecxecxecxmsochpdefault
{margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass p.ecxecxecxmsonormal1, .ExternalClass li.ecxecxecxmsonormal1, .ExternalClass div.ecxecxecxmsonormal1
{margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass p.ecxecxecxmsochpdefault1, .ExternalClass li.ecxecxecxmsochpdefault1, .ExternalClass div.ecxecxecxmsochpdefault1
{margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass p.ecxecxmsochpdefault, .ExternalClass li.ecxecxmsochpdefault, .ExternalClass div.ecxecxmsochpdefault
{margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass span.ecxecxmsohyperlink
{;}
.ExternalClass span.ecxecxmsohyperlinkfollowed
{;}
.ExternalClass span.ecxecxecxmsohyperlink1
{;}
.ExternalClass span.ecxecxecxmsohyperlinkfollowed1
{;}
.ExternalClass span.ecxecxecxemailstyle191
{;}
.ExternalClass span.ecxecxemailstyle30
{;}
.ExternalClass p.ecxecxmsonormal1, .ExternalClass li.ecxecxmsonormal1, .ExternalClass div.ecxecxmsonormal1
{margin-right:0in;margin-bottom:0in;margin-left:0in;margin-bottom:.0001pt;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass span.ecxecxmsohyperlink1
{color:blue;text-decoration:underline;}
.ExternalClass span.ecxecxmsohyperlinkfollowed1
{color:purple;text-decoration:underline;}
.ExternalClass p.ecxecxecxmsonormal2, .ExternalClass li.ecxecxecxmsonormal2, .ExternalClass div.ecxecxecxmsonormal2
{margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass p.ecxecxecxmsochpdefault2, .ExternalClass li.ecxecxecxmsochpdefault2, .ExternalClass div.ecxecxecxmsochpdefault2
{margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass p.ecxecxecxmsonormal11, .ExternalClass li.ecxecxecxmsonormal11, .ExternalClass div.ecxecxecxmsonormal11
{margin-right:0in;margin-bottom:0in;margin-left:0in;margin-bottom:.0001pt;font-size:12.0pt;font-family:'Times New Roman','serif';}
.ExternalClass span.ecxecxecxmsohyperlink11
{color:blue;text-decoration:underline;}
.ExternalClass span.ecxecxecxmsohyperlinkfollowed11
{color:purple;text-decoration:underline;}
.ExternalClass span.ecxecxecxemailstyle1911
{font-family:'Calibri','sans-serif';color:#1F497D;}
.ExternalClass p.ecxecxecxmsochpdefault11, .ExternalClass li.ecxecxecxmsochpdefault11, .ExternalClass div.ecxecxecxmsochpdefault11
{margin-right:0in;margin-left:0in;font-size:10.0pt;font-family:'Times New Roman','serif';}
.ExternalClass span.ecxecxemailstyle301
{font-family:'Calibri','sans-serif';color:#1F497D;}
.ExternalClass p.ecxecxmsochpdefault1, .ExternalClass li.ecxecxmsochpdefault1, .ExternalClass div.ecxecxmsochpdefault1
{margin-right:0in;margin-left:0in;font-size:10.0pt;font-family:'Times New Roman','serif';}
.ExternalClass span.ecxecxecxapple-tab-span
{;}
.ExternalClass span.ecxecxecxecxapple-tab-span
{;}
.ExternalClass span.ecxEmailStyle44
{font-family:'Calibri','sans-serif';color:#1F497D;}
.ExternalClass .ecxMsoChpDefault
{font-size:10.0pt;}
@page Section1
{size:8.5in 11.0in;}
.ExternalClass div.ecxSection1
{page:Section1;}
</style>





<div class="ecxSection1">

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">Yes, but that’s the point.</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">Since your request payload was in the form</span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">identifier=identifier&amp;usersId=1&amp;statusId=1&amp;weaknessesId=4&amp;name=name&amp;description=description&amp;visibility=I&amp;<b>standardProvidersCodesId=</b>&amp;severity=2&amp;difficulty=2&amp;risk=1</span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">the
string value “” (empty string) will be passed to the constructor or static
function of Long. This is an invalid value for a long and will probably throw a
runtime exception.</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">Something like the following would be triggered for it.</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">Exception in thread "main"
java.lang.NumberFormatException: For input string: ""</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.lang.Long.parseLong(Long.java:424)</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.lang.Long.valueOf(Long.java:518)</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">So again I still don’t think this is a bug, more so that you are
sending the request with an empty string rather than a null.</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">You might be able to try using a Long instance still in the
parameter list of the method and just not specifying the
standardProviderCodesId at all on the form payload. And then just making sure
to specify a default value, @DefaultValue(0)(I assume you are trying to get a 0
value if none specified). Not sure if that will work for what you are trying to
achieve.</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">Hope it helps.</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">-Greg</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span></p>

<div>

<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">

<p class="ecxMsoNormal"><b><span style="font-size:10.0pt;font-family:'Tahoma','sans-serif'">From:</span></b><span style="font-size:10.0pt;font-family:'Tahoma','sans-serif'"> Jordi Domingo
[mailto:noseya_at_hotmail.com] <br>
<b>Sent:</b> Tuesday, September 22, 2009 10:48 AM<br>
<b>To:</b> users_at_jersey.dev.java.net<br>
<b>Subject:</b> RE: [Jersey] 400 Bad Request (bug?)</span></p>

</div>

</div>

<p class="ecxMsoNormal">&nbsp;</p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Thats
exactly what you said but.. Long has a constructor that accepts a single String
argument&nbsp;http://java.sun.com/javase/6/docs/api/java/lang/Long.html#Long(java.lang.String)
but also has a static valueOf so it should work fine.</span></p>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Thanks,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Jordi</span></p>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">

<hr size="2" width="100%" align="center" id="ecxstopSpelling">

</span></div>

<p class="ecxMsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">From: ggiacovelli_at_ea.com<br>
To: users_at_jersey.dev.java.net<br>
Date: Tue, 22 Sep 2009 10:17:25 -0700<br>
Subject: RE: [Jersey] 400 Bad Request (bug?)</span></p>

<div>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">I think this is just the way the spec is written.</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:NimbusRomNo9L-Regu">1. Primitive types </span><span style="font-size:6.0pt;font-family:NimbusSanL-Regu">19</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:NimbusRomNo9L-Regu">2. Types that have a constructor that accepts a
single </span><span style="font-size:10.0pt;font-family:NimbusMonL-Regu">String
</span><span style="font-size:11.0pt;font-family:NimbusRomNo9L-Regu">argument </span><span style="font-size:6.0pt;font-family:NimbusSanL-Regu">20</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:NimbusRomNo9L-Regu">3. Types that have a static method named </span><span style="font-size:10.0pt;font-family:NimbusMonL-Regu">valueOf </span><span style="font-size:11.0pt;font-family:NimbusRomNo9L-Regu">with a single </span><span style="font-size:10.0pt;font-family:NimbusMonL-Regu">String </span><span style="font-size:11.0pt;font-family:NimbusRomNo9L-Regu">argument </span><span style="font-size:6.0pt;font-family:NimbusSanL-Regu">21</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:NimbusRomNo9L-Regu">4.
</span><span style="font-size:10.0pt;font-family:NimbusMonL-Regu">List&lt;</span><span style="font-size:10.0pt;font-family:NimbusMonL-ReguObli">T</span><span style="font-size:10.0pt;font-family:NimbusMonL-Regu">&gt;</span><span style="font-size:11.0pt;font-family:NimbusRomNo9L-Regu">, </span><span style="font-size:10.0pt;font-family:NimbusMonL-Regu">Set&lt;</span><span style="font-size:10.0pt;font-family:NimbusMonL-ReguObli">T</span><span style="font-size:10.0pt;font-family:NimbusMonL-Regu">&gt;</span><span style="font-size:11.0pt;font-family:NimbusRomNo9L-Regu">, or </span><span style="font-size:10.0pt;font-family:NimbusMonL-Regu">SortedSet&lt;</span><span style="font-size:10.0pt;font-family:NimbusMonL-ReguObli">T</span><span style="font-size:10.0pt;font-family:NimbusMonL-Regu">&gt;</span><span style="font-size:11.0pt;font-family:NimbusRomNo9L-Regu">, where </span><span style="font-size:10.0pt;font-family:NimbusMonL-ReguObli">T </span><span style="font-size:11.0pt;font-family:NimbusRomNo9L-Regu">satisfies 2 or 3 above.</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">FormParam is said to be similar to the constructs which bind the
others (QueryParam,PathParam, etc).</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">The
other examples you mention use String.ValueOf(“”) which is valid as “”;</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("standardProvidersCodesId")
Long standardProvidersCodesId </span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">By
default this should do Long.valueOf(“”). This does not seem to be valid, and
results in the 400 I presume.</span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">This
does not seem like a bug.</span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">-Greg</span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<div>

<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">

<p class="ecxMsoNormal"><b><span style="font-size:10.0pt;font-family:'Tahoma','sans-serif'">From:</span></b><span style="font-size:10.0pt;font-family:'Tahoma','sans-serif'"> Jordi Domingo
[mailto:noseya_at_hotmail.com] <br>
<b>Sent:</b> Tuesday, September 22, 2009 8:09 AM<br>
<b>To:</b> users_at_jersey.dev.java.net<br>
<b>Subject:</b> RE: [Jersey] 400 Bad Request (bug?)</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

</div>

</div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Hi
again.</span></p>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Im
quite sure this is a bug. This happens when the param is a number, but never
when it is a String.</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Let's see what Jersey people say :)</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Thanks</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Jordi</span></p>

<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">

<hr size="2" width="100%" align="center">

</span></div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">From:
noseya_at_hotmail.com<br>
To: users_at_jersey.dev.java.net<br>
Date: Tue, 22 Sep 2009 16:30:18 +0200<br>
Subject: RE: [Jersey] 400 Bad Request (bug?)<br>
<br>
Thanks for replying Herak.</span></p>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">The
class is annotated:</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@Path("/projects/{projectId:
[0-9]{1,8}}/vulnerabilities")</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">public
class VulnerabilitiesResource{</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">..</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@POST</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@Produces({"application/json"})</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">public
Response post(@Context UriInfo uriInfo, @PathParam("projectId") int
projectId, @FormParam("identifier") String identifier,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("usersId")
Long usersId, @FormParam("statusId") Integer statusId,
@FormParam("weaknessesId") Integer weaknessesId,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("name")
String name, @FormParam("description") String description,
@FormParam("consequences") String consequences,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("mitigations")
String mitigations, @FormParam("cvssBase") java.math.BigDecimal
cvssBase,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("cvssTemporal")
java.math.BigDecimal cvssTemporal, @FormParam("cvssEnvironment")
java.math.BigDecimal cvssEnvironment,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("standardProvidersCodesId")
Long standardProvidersCodesId, @FormParam("visibility") String
visibility,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("severity")
Integer severity, @FormParam("difficulty") Integer difficulty,
@FormParam("probability") Integer probability,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("risk")
Integer risk) throws SystemException{</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">...</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">}</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">The
same way like assets, assets works fine, this one no. Anything else to check?</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Thanks,</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Jordi</span></p>

</div>

</div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">

<hr size="2" width="100%" align="center">

</span></div>

<p class="ecxMsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">From: HSen_at_vertrax.com<br>
To: users_at_jersey.dev.java.net<br>
Date: Tue, 22 Sep 2009 10:12:54 -0400<br>
Subject: RE: [Jersey] 400 Bad Request (bug?)</span></p>

<div>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">Can&nbsp; you double check the path?</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">If ‘/project’ is the root resource then the ‘/vulnerabilities/new’
is the sub resource, therefore the method (‘post’) will need
@Path(“{projectId}/vulnerabilities/new”) annotation</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">Herak</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:'Calibri','sans-serif';color:#1F497D">&nbsp;</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

<div>

<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">

<p class="ecxMsoNormal"><b><span style="font-size:10.0pt;font-family:'Tahoma','sans-serif'">From:</span></b><span style="font-size:10.0pt;font-family:'Tahoma','sans-serif'"> Jordi Domingo
[mailto:noseya_at_hotmail.com] <br>
<b>Sent:</b> Tuesday, September 22, 2009 8:57 AM<br>
<b>To:</b> users_at_jersey.dev.java.net<br>
<b>Subject:</b> RE: [Jersey] 400 Bad Request (bug?)</span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'"></span></p>

</div>

</div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">I
cant understand why its happening this.. in other places i make requests like
the one that fails and work fine</span></p>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">POST
/projects/1/assets HTTP/1.1</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Host:
localhost</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">User-Agent:
Mozilla/5.0 (Windows; U; Windows NT 6.0; es-ES; rv:1.9.1.3) Gecko/20090824
Firefox/3.5.3 (.NET CLR 3.5.30729)</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Accept:
application/json, text/javascript, */*</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Accept-Language:
ca,en-us;q=0.7,it;q=0.3</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Accept-Encoding:
gzip,deflate</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Accept-Charset:
ISO-8859-1,utf-8;q=0.7,*;q=0.7</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Keep-Alive:
300</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Proxy-Connection:
keep-alive</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Content-Type:
application/x-www-form-urlencoded; charset=UTF-8</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">X-Requested-With:
XMLHttpRequest</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Referer:
http://localhost/projects/1/assets/new</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Cookie:
JSESSIONID=1bb45c8173eba1145cf57e0ed37e</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Pragma:
no-cache</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Cache-Control:
no-cache</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Content-Length:
31</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">environment=&amp;url=&amp;ip=&amp;hostname=</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Response
is 200 OK</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">My
Java method is declared this way (but the request didnt reach my code):</span></p>

</div>

<div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@POST</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@Produces({"application/json"})</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">public
Response post(@Context UriInfo uriInfo, @PathParam("projectId") int
projectId, @FormParam("identifier") String identifier,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("usersId")
Long usersId, @FormParam("statusId") Integer statusId,
@FormParam("weaknessesId") Integer weaknessesId,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("name")
String name, @FormParam("description") String description,
@FormParam("consequences") String consequences,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("mitigations")
String mitigations, @FormParam("cvssBase") java.math.BigDecimal
cvssBase,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("cvssTemporal")
java.math.BigDecimal cvssTemporal, @FormParam("cvssEnvironment")
java.math.BigDecimal cvssEnvironment,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("standardProvidersCodesId")
Long standardProvidersCodesId, @FormParam("visibility") String
visibility,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("severity")
Integer severity, @FormParam("difficulty") Integer difficulty,
@FormParam("probability") Integer probability,&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span class="ecxecxecxecxapple-tab-span"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">@FormParam("risk")
Integer risk) throws SystemException{</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">....</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">}</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Any
help is appreciated.</span></p>

</div>

</div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">

<hr size="2" width="100%" align="center">

</span></div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">From:
noseya_at_hotmail.com<br>
To: users_at_jersey.dev.java.net<br>
Date: Tue, 22 Sep 2009 13:50:08 +0200<br>
Subject: [Jersey] 400 Bad Request (bug?)<br>
<br>
Hi all :)</span></p>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">I'm
getting this error, and i think that is a bug. This is my request:</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">POST
/projects/1/vulnerabilities HTTP/1.1</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Host:
localhost</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">User-Agent:
Mozilla/5.0 (Windows; U; Windows NT 6.0; es-ES; rv:1.9.1.3) Gecko/20090824
Firefox/3.5.3 (.NET CLR 3.5.30729)</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Accept:
application/json, text/javascript, */*</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Accept-Language:
ca,en-us;q=0.7,it;q=0.3</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Accept-Encoding:
gzip,deflate</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Accept-Charset:
ISO-8859-1,utf-8;q=0.7,*;q=0.7</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Keep-Alive:
300</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Proxy-Connection:
keep-alive</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Content-Type:
application/x-www-form-urlencoded; charset=UTF-8</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">X-Requested-With:
XMLHttpRequest</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Referer:
http://localhost/projects/1/vulnerabilities/new</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Cookie:
JSESSIONID=16f95e59d3b1b0e954310c190c60</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Content-Length:
161</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">identifier=identifier&amp;usersId=1&amp;statusId=1&amp;weaknessesId=4&amp;name=name&amp;description=description&amp;visibility=I&amp;<b>standardProvidersCodesId=</b>&amp;severity=2&amp;difficulty=2&amp;risk=1</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">THe
response is 400 Bad Request.</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">What
you see in bold is causing the bad request. Take it out and works fine.</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Thanks,</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

</div>

<div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Jordi</span></p>

</div>

</div>

</div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">

<hr size="2" width="100%" align="center">

</span></div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Charlas
más divertidas con el nuevo <a href="http://download.live.com">Windows Live
Messenger</a></span></p>

</div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">

<hr size="2" width="100%" align="center">

</span></div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Comparte
tus fotos con tus amigos. Más fácil con <a href="http://download.live.com">Windows
Live</a></span></p>

</div>

</div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">

<hr size="2" width="100%" align="center">

</span></div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Diferentes
formas de estar en contacto con amigos y familiares. Descúbrelas. <a href="http://www.microsoft.com/windows/windowslive/default.aspx">Descúbrelas.</a></span></p>

</div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">

<hr size="2" width="100%" align="center">

</span></div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Nuevo
Windows Live, un mundo lleno de posibilidades <a href="http://www.microsoft.com/windows/windowslive/default.aspx">Descúbrelo.</a></span></p>

</div>

</div>

</div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">&nbsp;</span></p>

<div class="ecxMsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">

<hr size="2" width="100%" align="center">

</span></div>

<p class="ecxMsoNormal"><span style="font-size:10.0pt;font-family:'Verdana','sans-serif'">Diferentes
formas de estar en contacto con amigos y familiares. Descúbrelas. <a href="http://www.microsoft.com/windows/windowslive/default.aspx">Descúbrelas.</a></span></p>

</div></div> <br /><hr />Diferentes formas de estar en contacto con amigos y familiares. Descúbrelas. <a href='http://www.microsoft.com/windows/windowslive/default.aspx' target='_new'>Descúbrelas.</a></body>
</html>
--_42ca5370-a696-40e9-a0c2-f84cbb3601d4_--