[
https://issues.apache.org/jira/browse/AXIS2-5072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13051272#comment-13051272
]
Jason Tholstrup commented on AXIS2-5072:
----------------------------------------
Andreas,
This issue reaches beyond just indexed properties though. As you'll see below
any setter lacking a getter will cause this exception. The indexed property
though seems to throw in another wrench later. Read on for the detail.
I went ahead and did some more quick tests here and found some interesting
results.
Test 1) I started with a clean Entity class and removed just the
getPostalCode() method.
Test 2) I started with a clean Entity class and removed just the
setPostalCode(String) method.
Both produce a wsdl with a postalCode entry in the WSDL. It will be
interesting to see exactly how the java2Wsdl code works because it apparently
looks at both getter and setter to determine what to put in the wsdl but for
some reason skips when the getter has a parameter. Weird.
Test 1 (no getter) returns the error
<faultstring>org.apache.axis2.AxisFault: Property 'postalCode' in bean
class 'sample.addressbook.entry.Entry'is not readable.</faultstring>
Test 2 (not setter) works just fine and returns an entry that simply have a nil
value for postalCode
> BeanUtil bombs on missing setter
> --------------------------------
>
> Key: AXIS2-5072
> URL: https://issues.apache.org/jira/browse/AXIS2-5072
> Project: Axis2
> Issue Type: Bug
> Components: adb
> Affects Versions: 1.6.0
> Environment: OSX
> Reporter: Jason Tholstrup
> Assignee: Sagara Gunathunga
> Labels: adb, beanutil
> Fix For: 1.7.0
>
>
> First off, thanks for all your work on axis.
> I am currently upgrading from Axis2 1.3 to version 1.6 and I've run into an
> issue. BeanUtil bombs out on a missing setter property that is not in my
> WSDL when building response objects on my server side code (see stack trace
> below). This "modifiedAttribute" property has a signature of
> isModifiedAttribute(int index) and is not included in any wsdl yet this
> section still throws an error. Is there a reason elsewhere in the code where
> it makes sense to throw an exception if a property does not have a getter and
> a setter? To me the appropriate decision would seem to be to ignore anything
> that did not have both. This seems to be the decision that my 1.3 version of
> the code went with since I wasn't seeing this issue before. Any thoughts
> would be appreciated.
> Thanks,
> Jason Tholstrup
> 14:24:32.129 ERROR [http-8080-8]
> o.a.a.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic line:210 -
> org.apache.axis2.AxisFault: Property 'modifiedAttribute' in bean class
> 'com.nicusa.db.tables.Item'is not readable.
> java.lang.RuntimeException: org.apache.axis2.AxisFault: Property
> 'modifiedAttribute' in bean class 'com.nicusa.db.tables.Item'is not readable.
> at
> org.apache.axis2.databinding.utils.BeanUtil.getPropertyQnameList(BeanUtil.java:276)
> ~[axis2-adb-1.6.0.jar:1.6.0]
> at
> org.apache.axis2.databinding.utils.BeanUtil.getPropertyQnameList(BeanUtil.java:129)
> ~[axis2-adb-1.6.0.jar:1.6.0]
> at
> org.apache.axis2.databinding.utils.BeanUtil.getPullParser(BeanUtil.java:72)
> ~[axis2-adb-1.6.0.jar:1.6.0]
> at
> org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.processProperties(ADBXMLStreamReaderImpl.java:994)
> ~[axis2-adb-1.6.0.jar:1.6.0]
> at
> org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.next(ADBXMLStreamReaderImpl.java:850)
> ~[axis2-adb-1.6.0.jar:1.6.0]
> at org.apache.axis2.util.StreamWrapper.next(StreamWrapper.java:71)
> ~[axis2-kernel-1.6.0.jar:1.6.0]
> at
> org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681)
> ~[axiom-api-1.2.11.jar:1.2.11]
> at
> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
> ~[axiom-api-1.2.11.jar:1.2.11]
> at
> org.apache.axiom.om.impl.llom.OMSerializableImpl.build(OMSerializableImpl.java:78)
> ~[axiom-impl-1.2.11.jar:1.2.11]
> at
> org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:722)
> ~[axiom-impl-1.2.11.jar:1.2.11]
> at
> org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:700)
> ~[axiom-impl-1.2.11.jar:1.2.11]
> at
> org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:105)
> ~[axiom-impl-1.2.11.jar:1.2.11]
> at
> org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:296)
> ~[axiom-impl-1.2.11.jar:1.2.11]
> at
> org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:212)
> ~[axiom-impl-1.2.11.jar:1.2.11]
> at
> org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:105)
> ~[axis2-adb-1.6.0.jar:1.6.0]
> at
> org.apache.axis2.rpc.receivers.RPCUtil.processResponseAsDocLitWrapped(RPCUtil.java:456)
> ~[axis2-adb-1.6.0.jar:1.6.0]
> at
> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:153)
> ~[axis2-adb-1.6.0.jar:1.6.0]
> at
> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
> [axis2-kernel-1.6.0.jar:1.6.0]
> at
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
> [axis2-kernel-1.6.0.jar:1.6.0]
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
> [axis2-kernel-1.6.0.jar:1.6.0]
> at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
> [axis2-transport-http-1.6.0.jar:na]
> at
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
> [axis2-transport-http-1.6.0.jar:na]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> [servlet-api.jar:na]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> [servlet-api.jar:na]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> [catalina.jar:6.0.29]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> [catalina.jar:6.0.29]
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> [catalina.jar:6.0.29]
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> [catalina.jar:6.0.29]
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> [catalina.jar:6.0.29]
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [catalina.jar:6.0.29]
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [catalina.jar:6.0.29]
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> [catalina.jar:6.0.29]
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
> [tomcat-coyote.jar:6.0.29]
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> [tomcat-coyote.jar:6.0.29]
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> [tomcat-coyote.jar:6.0.29]
> at java.lang.Thread.run(Thread.java:680) [na:1.6.0_24]
> Caused by: org.apache.axis2.AxisFault: Property 'modifiedAttribute' in bean
> class 'com.nicusa.db.tables.Item'is not readable.
> at
> org.apache.axis2.databinding.utils.BeanUtil.getPropertyQnameList(BeanUtil.java:189)
> ~[axis2-adb-1.6.0.jar:1.6.0]
> ... 35 common frames omitted
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]