Hi Sergey,
I've seen that without @QueryParam annotation the parameter is properly managed 
and serialized, no exception occurs and it arrives properly built to the server.
Instead if I define it as @PathParam (leaving all other parameters as 
@QueryParam) no exception occurs but it arrives as an empty byte[] to the 
server.
So the first solution (remove @QueryParam tag for the byte[]) seems to 
work...but there is no problem if I leave a parameter without annotations 
(@QueryParam or @PathParam)?
In the morning I'll try also the solution of the Byte[].
Bets regards,

Andrea

Date: Mon, 1 Jul 2013 09:14:40 -0700
From: [email protected]
To: [email protected]
Subject: Re: java.lang.ClassCastException: [B cannot be cast to 
[Ljava.lang.Object



        Hi


I'm not sure attempting to map a byte[] array to a query parameter will 

work, but I guess no ClassCastException should be reported but something 

more meaningful, I'll try to have to look into it.

In meantime, try Byte[]. may be that will help


Sergey

On 01/07/13 16:22, eanbiso wrote:

> Hi all,

> I've a class cast exception invoking a REST web method that wants a byte[]

> as input parameter.

> I had a SOAP endPoint and I've added all the annotations required to publish

> it also with REST technology...

> The web method is this:

>

>       @POST

>       @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})

>       @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})

>       @Path("/AddCluster")

>       @ApiOperation(value = "Create a new cluster", notes = "Returns the newly

> created cluster", response = IProxyCluster.class, produces

> ="application/xml,application/json")

>       public IProxyCluster AddCluster(

>                       @ApiParam(value = "username", required = true) 
> @WebParam(name =

> "username") @QueryParam("username") @CxfWSAuthGrain(type=authType.username)

> String username ,

>                       @ApiParam(value = "appGardenID", required = true) 
> @WebParam(name =

> "appGardenID") @QueryParam("appGardenID") int appGardenID ,

>                       @ApiParam(value = "clusterLevel", required = true) 
> @WebParam(name =

> "clusterLevel") @QueryParam("clusterLevel") short clusterLevel ,

>                       @ApiParam(value = "clusterType", required = true) 
> @WebParam(name =

> "clusterType") @QueryParam("clusterType") short clusterType ,

>                       @ApiParam(value = "hopsize", required = true) 
> @WebParam(name = "hopsize")

> @QueryParam("hopsize") int hopsize ,

>                       @ApiParam(value = "clusterAddress", required = true) 
> @WebParam(name =

> "clusterAddress") @QueryParam("clusterAddress") byte[] clusterAddress ,

>                       @ApiParam(value = "name", required = true) 
> @WebParam(name = "name")

> @QueryParam("name") String name ,

>                       @ApiParam(value = "description", required = true) 
> @WebParam(name =

> "description") @QueryParam("description") String description ) throws

> DBValidationException;

>                       

>                       

> When I call the REST web method on client side this exception occurs:

>

>      [01 lug 2013 17:03:14,728] - (TestWS-383) ERROR Exception:

> java.lang.ClassCastException: [B cannot be cast to [Ljava.lang.Object;

>      java.lang.ClassCastException: [B cannot be cast to [Ljava.lang.Object;

>           at

> org.apache.cxf.jaxrs.client.AbstractClient.addMatrixQueryParamsToBuilder(AbstractClient.java:632)

>           at

> org.apache.cxf.jaxrs.client.ClientProxyImpl.handleQueries(ClientProxyImpl.java:432)

>           at

> org.apache.cxf.jaxrs.client.ClientProxyImpl.invoke(ClientProxyImpl.java:162)

>           at $Proxy33.AddCluster(Unknown Source)

>

> ...debugging I've found that the parameter that is the cause of the trouble

> is the "byte[] clusterAddress"

>

> How can I fix the problem?

> I forgot a few annotations?

> I'm using cxf_2.7.3

> Thanks a lot,

>

> Andrea

>

>

>

> --

> View this message in context: 
> http://cxf.547215.n5.nabble.com/java-lang-ClassCastException-B-cannot-be-cast-to-Ljava-lang-Object-tp5730141.html
> Sent from the cxf-user mailing list archive at Nabble.com.

>


-- 

Sergey Beryozkin


Talend Community Coders

http://coders.talend.com/

Blog: http://sberyozkin.blogspot.com


        
        
        
        

        

        
        
                If you reply to this email, your message will be added to the 
discussion below:
                
http://cxf.547215.n5.nabble.com/java-lang-ClassCastException-B-cannot-be-cast-to-Ljava-lang-Object-tp5730141p5730146.html
        
        
                
                To unsubscribe from java.lang.ClassCastException: [B cannot be 
cast to [Ljava.lang.Object, click here.

                NAML
                                                  



--
View this message in context: 
http://cxf.547215.n5.nabble.com/java-lang-ClassCastException-B-cannot-be-cast-to-Ljava-lang-Object-tp5730141p5730154.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to