Glen Verran also asked a similar question in his email: "How can I exclude classes from Axis2?"
Does anyone know how to exclude a field from a class, or the whole class from being included in the WSDL? We both tried the transient approach, which didn't work. Are there improvements in Axis2 1.3, 1.4 in this area? Thanks, Dave ________________________________ From: Kraus, David Sent: Tuesday, April 15, 2008 5:51 PM To: [email protected] Subject: excluding pojo fields from wsdl 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"; }
