AXIS2 is not aware of "is" methods when generating soap messages from JAXB java
beans
-------------------------------------------------------------------------------------
Key: AXIS2-3723
URL: https://issues.apache.org/jira/browse/AXIS2-3723
Project: Axis 2.0 (Axis2)
Issue Type: Bug
Components: databinding
Affects Versions: nightly
Environment: Win XP Pro, JDK 6_04, Tomcat 5.5.26, JAXB 2.1.6
Reporter: Glen Verran
Priority: Blocker
Fix For: nightly
I have an XSD which contains an element of type xs:boolean. This element is
called "redirect". I use JAXB 2.1.6 to generate the java beans from the XSD.
The methods for the "redirect" variable in the java bean are isRedirect and
setRedirect.
I created a web service with the method below:
public RetrieveConfigurationDataResponse
retrieveConfigurationData(RetrieveConfigurationDataRequest req) {
RetrieveConfigurationDataResponse rsp = new
RetrieveConfigurationDataResponse();
rsp.setData("1234");
rsp.setDataEncodingType(req.getDataEncodingType());
rsp.setEchoData(req.getEchoData());
rsp.setIdentifier(req.getIdentifier());
rsp.setIdentifierType(req.getIdentifierType());
rsp.setRedirect(Boolean.FALSE);
rsp.setResponseCode("00");
rsp.setRevision(req.getRevision());
return rsp;
}
Both the (RetrieveConfigurationDataRequest and
RetrieveConfigurationDataResponse are JAXB generated java beans. The
RetrieveConfigurationDataResponse class is the one that contains this redirect
variable. I generated the client code and went on to test this method to the
web service.
I got the following AxisFault saying that it could not find the read method for
"redirect".
Exception in thread "main" org.apache.axis2.AxisFault:
org.apache.axis2.AxisFault: can not find read method for : redirect
at
org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:486)
at
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:343)
at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389)
at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
at
org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at
com.traderoot.webservices.configurationdistribwebservice.ConfigurationDistribWebServiceStub.retrieveConfigurationData(ConfigurationDistribWebServiceStub.java:172)
at Test.main(Test.java:23)
To confirm my assumptions, I went into the JAXB code and changed the isRedirect
method to getRedirect. This fault did not occure.
I do not consider this a workaround since JAXB classes are to be untouched. It
seems that AXIS2 is not looking for "is" methods when binding the java bean.
This is an absoluate blocker and prevents us from being able to use AXIS2.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]