jaxrs client parameter No message body writer has been found for class

2,853 views
Skip to first unread message

Sergio Morales

unread,
Jan 20, 2015, 4:25:16 PM1/20/15
to hippo-c...@googlegroups.com
I have a jaxrs client that needs to consume with POST request a service.

Method client: 

public FavoritesResponse getFavorites(String userid) {

WebClient webClient = WebClient.create("myserver/myservice")
.path(service)
.type(MediaType.APPLICATION_JSON_TYPE);

setTimeouts(webClient, connectionTimeout, receiveTimeout);

FavoritesRequest request = new FavoritesRequest();
request.setUserid(userid);

Response wsResponse = webClient.post(request);

FavoritesResponse favoritesResponse = new FavoritesResponse();
favoritesResponse.setStatus(String.valueOf(wsResponse.getStatus()));
return favoritesResponse;
}



Looks like the parameter is not properly understood by jaxson...


org.apache.cxf.jaxrs.client.ClientWebApplicationException: org.apache.cxf.interceptor.Fault: .No message body writer has been found for class : class com.mtot.jaxrs.client.favorites.FavoritesRequest, ContentType : application/json.  org.apache.cxf.jaxrs.client.ClientWebApplicationException: org.apache.cxf.interceptor.Fault: .No message body writer has been found for class : class com.mtot.jaxrs.client.favorites.FavoritesRequest, ContentType : application/json. [org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:863), org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:791), org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:752), org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:286), org.apache.cxf.jaxrs.client.WebClient.post(WebClient.java:295), com.mtot.jaxrs.client.favorites.FavoritesClient.getFavorites(FavoritesClient.java:30), com.mtot.jaxrs.services.favorites.FavoritesResource.test(FavoritesResource.java:54), sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.lang.reflect.Method.invoke(Method.java:606), org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180), org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96), org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:165), org.hippoecm.hst.jaxrs.cxf.AroundProcessableJAXRSInvoker.invoke(AroundProcessableJAXRSInvoker.java:94), org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:89), org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57), org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:93), org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263), org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121), org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:237), org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:239), org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:213), org.hippoecm.hst.jaxrs.cxf.CXFJaxrsService.invoke(CXFJaxrsService.java:147), org.hippoecm.hst.core.container.JaxrsRestServiceValve.invoke(JaxrsRestServiceValve.java:38), org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:271), org.hippoecm.hst.core.container.GenericResponseHeadersValve.invoke(GenericResponseHeadersValve.java:83), org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:271), org.hippoecm.hst.core.container.SubjectBasedSessionValve.invoke(SubjectBasedSessionValve.java:58), org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:271), org.hippoecm.hst.core.container.SecurityValve.invoke(SecurityValve.java:168), org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:271), org.hippoecm.hst.core.container.CmsSecurityValve.invoke(CmsSecurityValve.java:80), org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:271), org.hippoecm.hst.core.container.InitializationValve.invoke(InitializationValve.java:72), org.hippoecm.hst.core.container.HstSitePipeline$Invocation.invokeNext(HstSitePipeline.java:271), org.hippoecm.hst.core.container.HstSitePipeline.invokeValves(HstSitePipeline.java:170), org.hippoecm.hst.core.container.HstSitePipeline.invoke(HstSitePipeline.java:153), org.hippoecm.hst.core.container.HstRequestProcessorImpl.processRequest(HstRequestProcessorImpl.java:79), org.hippoecm.hst.container.HstFilter.doFilter(HstFilter.java:504), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208), org.hippoecm.hst.container.XSSUrlFilter.doFilter(XSSUrlFilter.java:49), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208), org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88), org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208), org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220), org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122), org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501), org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171), org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102), org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950), org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116), org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408), org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040), org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607), org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615), org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61), java.lang.Thread.run(Thread.java:745)]

Sergio Morales

unread,
Jan 20, 2015, 4:35:38 PM1/20/15
to hippo-c...@googlegroups.com
this is the class that is used as payload:

import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;

@XmlRootElement
public class FavoritesRequest implements Serializable {

private String userid;

public FavoritesRequest() {
}

public String getUserid() {
return userid;
}

public void setUserid(String userid) {
this.userid = userid;
}
}
Reply all
Reply to author
Forward
0 new messages