I am using Axis2 1.2 and have deployed a simple service as a POJO. I
created my client using wsld2java based on the WSDL generated from the
POJO service.

 

One of the objects, which is returned from a web service method, has
some public static fields. These fields are being included in the WSDL.
However, since these static fields don't have getters/setters, they
weren't being serialized on return, which caused an "Unexpected element
return" error at the client. Adding getters/setters gets rid of the
problem, as long as the getters/setters are not static ( which is
strange). In any case, these public static fields do not need to be
serialized, and their inclusion in the WSDL causes problems. Using
getters/setters is very awkward since they aren't really needed since
the fields really should be public static final, which I tried using.  I
have also tried using the java transient keyword, but that doesn't seem
to work. I have also tried using excludeProperties (beanPropertyRules)
in services.xml, and that didn't seem to work. Is there a way to exclude
these public static fields from the WSDL generated from the deployed
POJO?

 

Example of return class below:

 

Thanks, Dave

 

 

public class EnumNormal {

      private String _value;

      

      public EnumNormal() {}

      

      public EnumNormal(String value)

      {

            _value = value;

      }

      

      public String getValue()

      {

            return _value;

      }

      

      public void setValue(String value)

      {

            _value = value;

      }

      

      public static String firstEnumVal = "FirstEnumVal";

      public static String secondEnumVal = "SecondEnumVal";

      public static String thirdEnumVal = "ThirdEnumVal";

      public static String fourthEnumVal = "FourthEnumVal";

      public static String fifthEnumVal = "FifthEnumVal";

      

}

   

Reply via email to