Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-5474

DefaultSchemaGenerator : properly handle failure when a bean property has no getReadMethod()

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: 1.6.2
    • Fix Version/s: None
    • Component/s: kernel
    • Labels:

      Description

      Deployment of service (aar file) might failed with :

      Caused by: org.apache.axis2.deployment.DeploymentException: The following error occurred during schema generation: null
      at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:396)
      ... 35 more
      Caused by: java.lang.NullPointerException
      at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchema(DefaultSchemaGenerator.java:606)
      at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchemaTypeforNameCommon(DefaultSchemaGenerator.java:1092)

      In which the getReadMethod() is returning null for a bean property, thus to make it more friendly and avoid anyone loosing time on such things :

      — DefaultSchemaGenerator.java 2013-01-08 10:09:33.000000000 +0100
      +++ DefaultSchemaGenerator.java.new 2013-01-08 10:09:17.000000000 +0100
      @@ -603,6 +603,9 @@
      String propertyName = property.getName();
      if (!property.getName().equals("class") && (property.getPropertyType() != null)) {
      if ((beanExcludeInfo == null) || !beanExcludeInfo.isExcludedProperty(propertyName)) {
      + if (property.getReadMethod() == null)

      { + throw new Exception("Failed property ("+property.getName()+") has no getReadMethod() method in Class ("+javaType+")"); + }

      Type genericFieldType = property.getReadMethod().getGenericReturnType();
      if(genericFieldType instanceof ParameterizedType){
      ParameterizedType aType = (ParameterizedType) genericFieldType;

        Attachments

        1. patch.diff
          0.9 kB
          Philippe Le Berre

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              pleberre Philippe Le Berre
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: