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]

Reply via email to