[ https://issues.apache.org/jira/browse/CXF-5288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13771580#comment-13771580 ]
Sambit Dikshit commented on CXF-5288: ------------------------------------- [~sergey_beryozkin] Thanks Sergey. When is 2.7.7 getting released. We have a release coming up this 27th, if you guys are coming up with the release before that, we can plan to accommodate it in our release. > BeanParam does not work as expected > ------------------------------------ > > Key: CXF-5288 > URL: https://issues.apache.org/jira/browse/CXF-5288 > Project: CXF > Issue Type: Bug > Components: Core > Affects Versions: 2.7.3 > Reporter: Sambit Dikshit > Assignee: Sergey Beryozkin > > Hi, > I'm using CXF 2.7.3 version. Our resource API look like below. > 1. > @POST > @Path("/books-param-bean") > @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) > @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) > Book addBookWithParamBeans(@BeanParam BookHeaderBean > headerBean,@QueryParam("") BookQueryBean queryBean,Book book) throws > ServiceException; > 2. > @POST > @Path("/books-header-bean") > @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) > @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) > Book addBookWithHeaderBean(@BeanParam BookHeaderBean headerBean,Book req) > throws ServiceException; > 3. > @POST > @Path("/books-query-bean") > @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) > @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) > Book addBookWithQueryBean(@QueryParam("") BookQueryBean queryBean,Book > req) throws ServiceException; > Then i'm trying to consume the API using proxy based approach like below. > Book req = new Book(); > Book b = new Book("CXF Action 127", 127L); > b.setChapters(null); > req.setPayload(b); > > BookHeaderBean headerBean = new BookHeaderBean(); > headerBean.setHeaderName("CXF-127-Book-From-Header"); > headerBean.setTestHeader("test"); > // get handle to BookStore proxy using WebClient, i'm skipping that code > here. > Book response = bookStoreProxy.addBookWithHeaderBean(headerBean,req); > The header bean class look like below. > public class BookHeaderBean implements Serializable { > private static final long serialVersionUID = 1L; > @HeaderParam("NAME") > private String headerName; > @HeaderParam("TEST") > private String testHeader; > > public String getHeaderName() { > return headerName; > } > public void setHeaderName(String headerName) { > this.headerName = headerName; > } > public String getTestHeader() { > return testHeader; > } > public void setTestHeader(String testHeader) { > this.testHeader = testHeader; > } > } > public class BookQueryBean implements Serializable { > private String name; > private long id; > private String status; > public BookQueryBean(String name, long id) { > this.name = name; > this.id = id; > } > public void setName(String n) { > name = n; > } > public String getName() { > return name; > } > public void setId(long i) { > id = i; > } > public long getId() { > return id; > } > public String getStatus() { > return status; > } > public void setStatus(String status) { > this.status = status; > } > } > Now when we try the proxy based client to call the methods which take header > bean and query beans, only the query bean method is working. The header beans > does not work. Basically the @BeanParam defined beans are not working through > client side proxy. However when we directly hit the URL from a rest browser > and construct the http header and query strings etc, it does work. It means > the un-marshaling from header parameters to beans is happening at server > side. where as marshaling from bean to header params is not happening at > client side proxy impl. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira