well if you call put(versionDto, VersionDto.class) and ensures your
webclient has a json provider then it works


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>

2015-04-20 17:22 GMT+02:00 Steve Goldsmith <[email protected]>:

> My understanding it CXF does not unmarshall JSON and returns (XML uses
> JAX-B for instance):
>
> java.lang.ClassCastException:
> sun.net.www.protocol.http.HttpURLConnection$HttpInputStream cannot be cast
> to...
>
>
> http://stackoverflow.com/questions/26387208/how-create-a-java-object-from-cxf-webclient-response
>
> This
> http://www.hascode.com/2013/12/jax-rs-2-0-rest-client-features-by-example
> worked well with GlassFish Jersy/Jackson dependencies in TomEE. I just want
> to make sure I'm doing it in a portable way on TomEE with being able to
> handle client timeouts.
>
> On Wed, Apr 15, 2015 at 10:29 AM, Romain Manni-Bucau <
> [email protected]>
> wrote:
>
> > Weird, wonder if something else is broken. Can you try: post(versionDto
> /*
> > skip responseClass param to retrieve a Response */).readEntity(
> > VersionDto.class);
> >
> > Side note: using org.apache.cxf.jaxrs.client.WebClient#getConfig you can
> > get the conduit - getHttpConduit() - from a jaxrs cxf client (Client
> > or WebTarget) so no need to change all your code and use CXF proprietary
> > API for other parts.
> >
> >
> > Romain Manni-Bucau
> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > <http://rmannibucau.wordpress.com> | Github <
> > https://github.com/rmannibucau> |
> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> > <http://www.tomitribe.com>
> >
> > 2015-04-15 16:02 GMT+02:00 sgjava <[email protected]>:
> >
> > > I had JAX-RS POJO mapping working in TomEE using Jersey/Jackson
> > (Glassfish
> > > impl) with javax.ws.rs.* packages, but I wanted to use connect and read
> > > timeouts. As suggested I tried the CXF impl built into TomEE, but I
> > cannot
> > > get the response to map to the POJO. Here's the code in question:
> > >
> > >         final WebClient client = WebClient.create(url, Collections.
> > >                 singletonList(new JacksonJsonProvider()));
> > >         final HTTPConduit conduit =
> > > WebClient.getConfig(client).getHttpConduit();
> > >         conduit.getClient().setReceiveTimeout(7000);
> > >         conduit.getClient().setConnectionTimeout(7000);
> > >         final VersionDto versionDto = new VersionDto("xxx");
> > >         // This throws a 500 server exception
> > >         final VersionDto response = client.type(
> > >                 MediaType.APPLICATION_JSON_TYPE).accept(
> > >
>  MediaType.APPLICATION_JSON_TYPE).post(versionDto,
> > >                         VersionDto.class);
> > >
> > >         // This will work but returns
> > > sun.net.www.protocol.http.HttpURLConnection$HttpInputStream
> > >         final Response response =
> > > client.type(MediaType.APPLICATION_JSON_TYPE).
> > >
>  accept(MediaType.APPLICATION_JSON_TYPE).post(versionDto);
> > >
> > > I'm not able to find any complete examples.
> > >
> > >
> > >
> > > --
> > > View this message in context:
> > >
> >
> http://tomee-openejb.979440.n4.nabble.com/JAX-RS-POJO-mapping-tp4674454.html
> > > Sent from the TomEE Users mailing list archive at Nabble.com.
> > >
> >
>
>
>
> --
> Steven P. Goldsmith
>

Reply via email to