You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Manisha Mahawar <mm...@gmail.com> on 2011/11/21 18:27:34 UTC
Need Help with Service parameter validations
Hi All,
I just started using CXF and had couple of doubts. I have a service which
takes 5 parameters.
public Response getSchedule(
@QueryParam("index") int index,
@QueryParam("resultsize") int resultSize,
@QueryParam("startdatetime") long startTime,
@QueryParam("enddatetime") long endTime,
@QueryParam("duration") int duration) {...}
1) All the parameters are not required but few of them are. Is there a way
I can specify required or optional parameter using annotation in CXF?
2) I am getting "XML Parsing Error: no element found
Location:
http://localhost:8080/xboxEpgService/v1/listings/channels.xml?index=0&resultSize=200&duration=120&
*startdatetime=*
Line Number 1, Column 1:" error when I am trying to execute the above URL.
it's only happens when I pass last parameter as blank.
I noticed below warning in the logs.
Nov 21, 2011 10:00:54 AM org.apache.cxf.jaxrs.impl.
WebApplicationExceptionMapper toResponse
WARNING: WebApplicationException has been caught : For input string: """
I tried specifying @Default annotation but still not luck.
Does anybody know what can I use to handle these kind scenarios, where
nothing is being passed after parameter?
Any help would be appreciating.
Manisha
Re: Need Help with Service parameter validations
Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi
On 21/11/11 17:27, Manisha Mahawar wrote:
> Hi All,
>
> I just started using CXF and had couple of doubts. I have a service which
> takes 5 parameters.
>
> public Response getSchedule(
> @QueryParam("index") int index,
> @QueryParam("resultsize") int resultSize,
> @QueryParam("startdatetime") long startTime,
> @QueryParam("enddatetime") long endTime,
> @QueryParam("duration") int duration) {...}
>
>
> 1) All the parameters are not required but few of them are. Is there a way
> I can specify required or optional parameter using annotation in CXF?
>
That mostly affects the client side, but the only way for a client to
know that it is a required parameter is to provide a custom WADL doc,
though some additional annotation may be of help, may be it should be
added in jaxrs 2.0 actually
> 2) I am getting "XML Parsing Error: no element found
> Location:
> http://localhost:8080/xboxEpgService/v1/listings/channels.xml?index=0&resultSize=200&duration=120&
> *startdatetime=*
> Line Number 1, Column 1:" error when I am trying to execute the above URL.
> it's only happens when I pass last parameter as blank.
> I noticed below warning in the logs.
> Nov 21, 2011 10:00:54 AM org.apache.cxf.jaxrs.impl.
> WebApplicationExceptionMapper toResponse
> WARNING: WebApplicationException has been caught : For input string: """
>
> I tried specifying @Default annotation but still not luck.
>
> Does anybody know what can I use to handle these kind scenarios, where
> nothing is being passed after parameter?
>
In this case it is an empty value which is being passed but a type
'long' is specified. Long is better because it will be set to null if no
query parameter is provided or to 0 if it's an empty parameter (ex,
?startdatetime);
with long it should be just 0 I guess in all the cases, looks like a bug
to me
Sergey
> Any help would be appreciating.
>
> Manisha
>
--
Sergey Beryozkin
http://sberyozkin.blogspot.com
Talend Community Coders
http://coders.talend.com/