[
https://issues.apache.org/jira/browse/AXIS2-4128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12646669#action_12646669
]
thejenix edited comment on AXIS2-4128 at 11/11/08 1:35 PM:
----------------------------------------------------------------
After some investigation, it appears that the problem is in
DefaultSchemaGenerator.java
(org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator), in the
generateSchema(JClass javaType)... method, on line
652...heres the code from that area:
648: for (int i = 0; i < tempFields.length; i++) {
649: // create a element for the field only if it is public
650: // and there is no property with the same name
651: if (tempFields[i].isPublic()) {
652: if (tempFields[i].isStatic()){
653:// We do not need to expose static fields
654: continue;
655: }
tempFields[i].isStatic() is true for each of the enum fields. Is that
normal/expected? I noticed that the modifiers of the field are 16409 (decimal,
4019h) which has a bit on that is not defined by
java.lang.reflect.Modifier...is that something that can be checked to exclude
enum values from this conditional?
----Edit----
I just checked and a normal public static field declared in EnumType has a
modifier value of 9...a public static final field has a modifier value of 25
(19h)...that suggests there may be information in the modifiers to say a field
is an enum value.
was (Author: thejenix):
After some investigation, it appears that the problem is in
DefaultSchemaGenerator.java
(org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator), in the
generateSchema(JClass javaType)... method, on line
652...heres the code from that area:
648: for (int i = 0; i < tempFields.length; i++) {
649: // create a element for the field only if it is public
650: // and there is no property with the same name
651: if (tempFields[i].isPublic()) {
652: if (tempFields[i].isStatic()){
653:// We do not need to expose static fields
654: continue;
655: }
tempFields[i].isStatic() is true for each of the enum fields. Is that
normal/expected? I noticed that the modifiers of the field are 16409 (decimal,
4019h) which has a bit on that is not defined by
java.lang.reflect.Modifier...is that something that can be checked to exclude
enum values from this conditional?
> Java2WSDL does not generate enum fields
> ---------------------------------------
>
> Key: AXIS2-4128
> URL: https://issues.apache.org/jira/browse/AXIS2-4128
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: 1.4.1
> Environment: Windows XP SP2, Java 1.6, Maven2 2.0.8, Maven2 Axis2
> Java2WSDL plugin 1.4.1
> Reporter: Jesse Rosalia
>
> I have an interface that has a method that takes an enum value as a parameter:
> public interface Interface {
> public void Method(String param1,
> String param2, EnumType param3,
> String param4, Calendar param5, int param6);
> }
> EnumType is defined as:
> public enum EnumType {
> VALUE1,
> VALUE2,
> VALUE3,
> VALUE4,
> VALUE5
> }
> When I use Java2WSDL to generate a WSDL from this interface, it creates the
> complex type but does not add any values:
> <xs:complexType name="EnumType">
> <xs:complexContent>
> <xs:extension base="xs:Enum">
> <xs:sequence/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> This happens when I execute the Java2WSDL step through the maven plugin as
> well as if I run the Java2WSDL command line class
> (org.apache.ws.java2wsdl.Java2WSDL).
--
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]