You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Benson Margulies <bi...@gmail.com> on 2009/04/24 16:19:46 UTC
Re: org.apache.cxf.aegis.DatabindingException: No write method for
property
What version of CXF?
On Fri, Apr 24, 2009 at 2:23 AM, apache_user_cxf <jo...@yahoo.com>wrote:
>
> Java Class
> public class Employee{
> private Long id;
> private Department department;
>
>
> public Employee() {}
>
>
> @XmlTransient
> public final Long getId() {
> return id;
> }
>
> @XmlTransient
> public final Department getDepartment() {
> return department;
> }
>
>
> public String getDepartmentName() {
> return department.getName();
> }
>
> }
>
> Can someone tell me why a setter method is expected on the Java class. I
> only want to expose the string representation of the department and not the
> entire department object. Also I dont want the clientcode to be setting the
> department name in this case.
>
> I did try exposing a no-op setter method for the deparmentName and in this
> case i was getting a null pointer exception while trying to call the
> getDepartmentName
>
> Below is server side stack trace
> org.apache.cxf.aegis.DatabindingException: No write method for property
> {http://xyz.zzz.
> departmentName in class com.xyz.Employee
> at
> org.apache.cxf.aegis.type.basic.BeanType.writeProperty(BeanType.java:245)
> at org.apache.cxf.aegis.type.basic.BeanType.readObject(BeanType.java:149)
> at
>
> org.apache.cxf.aegis.AegisXMLStreamDataReader.read(AegisXMLStreamDataReader.java:
> at
>
> org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.jav
> at
>
> org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.jav
> at
>
> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInIntercepto
> at
>
> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInte
> at
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java
> at
>
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserve
> at
>
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.jav
> at
>
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletContr
> at
>
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:
> at
>
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.jav
> at
>
> org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.jav
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
> at
>
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:324)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
> at
>
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
> at
>
> org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
> at
>
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451)
> --
> View this message in context:
> http://www.nabble.com/org.apache.cxf.aegis.DatabindingException%3A-No-write-method-for-property-tp23210601p23210601.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>