Enum definition in wsdl automatically generated is not defined.
---------------------------------------------------------------

                 Key: AXIS2-4769
                 URL: https://issues.apache.org/jira/browse/AXIS2-4769
             Project: Axis2
          Issue Type: Bug
          Components: wsdl
    Affects Versions: 1.5.1
         Environment: Java version 1.6.0
Apache Tomcat 6.0.18 Server
Axis2 1.5.1
            Reporter: kk


Hi,

If this a repost or it is already resolved problem, I am sorry and please 
direct me to old post or the solution.Thanks


I have created a Simple Service as shown below.

package com.tt.ss;

public class SimpleService 
{
        public float CalculateInsurance(VehicleType vehicleType,String regId)
        {
                switch(vehicleType)
                {
                case TWO_WHEELER:
                        return (float) 100.00;
                case FOUR_WHEELER:
                        return (float) 200.00;
                default:
                        return (float) 0.0;
                }       
        }
}

Enum class definition is shown below

package com.tt.ss;


public enum VehicleType 
{
        TWO_WHEELER,
        FOUR_WHEELER;

}

This is the wsdl which is generated when deployed on Tomcat server


<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:ax233="http://ss.tt.com/xsd"; xmlns:ns1="http://org.apache.axis2/xsd"; 
xmlns:ns="http://ss.tt.com"; 
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
targetNamespace="http://ss.tt.com";>
    <wsdl:documentation>SimpleService</wsdl:documentation>
    <wsdl:types>
        <xs:schema xmlns:ax234="http://ss.tt.com/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://ss.tt.com";>
            <xs:import namespace="http://ss.tt.com/xsd"/>
            <xs:element name="CalculateInsurance">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="vehicleType" 
nillable="true" type="ax234:VehicleType"/>
                        <xs:element minOccurs="0" name="regId" nillable="true" 
type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="CalculateInsuranceResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" 
type="xs:float"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:schema>
        <xs:schema attributeFormDefault="qualified" 
elementFormDefault="qualified" targetNamespace="http://ss.tt.com/xsd";>
            <xs:complexType name="VehicleType">
                <xs:complexContent>
                    <xs:extension base="xs:Enum">
                        <xs:sequence/>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
        </xs:schema>
    </wsdl:types>
    <wsdl:message name="CalculateInsuranceRequest">
        <wsdl:part name="parameters" element="ns:CalculateInsurance"/>
    </wsdl:message>
    <wsdl:message name="CalculateInsuranceResponse">
        <wsdl:part name="parameters" element="ns:CalculateInsuranceResponse"/>
    </wsdl:message>
    <wsdl:portType name="SimpleServicePortType">
        <wsdl:operation name="CalculateInsurance">
            <wsdl:input message="ns:CalculateInsuranceRequest" 
wsaw:Action="urn:CalculateInsurance"/>
            <wsdl:output message="ns:CalculateInsuranceResponse" 
wsaw:Action="urn:CalculateInsuranceResponse"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="SimpleServiceSoap11Binding" 
type="ns:SimpleServicePortType">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
        <wsdl:operation name="CalculateInsurance">
            <soap:operation soapAction="urn:CalculateInsurance" 
style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="SimpleServiceSoap12Binding" 
type="ns:SimpleServicePortType">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
        <wsdl:operation name="CalculateInsurance">
            <soap12:operation soapAction="urn:CalculateInsurance" 
style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="SimpleServiceHttpBinding" 
type="ns:SimpleServicePortType">
        <http:binding verb="POST"/>
        <wsdl:operation name="CalculateInsurance">
            <http:operation location="SimpleService/CalculateInsurance"/>
            <wsdl:input>
                <mime:content type="text/xml" part="CalculateInsurance"/>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="CalculateInsurance"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="SimpleService">
        <wsdl:port name="SimpleServiceHttpSoap11Endpoint" 
binding="ns:SimpleServiceSoap11Binding">
            <soap:address 
location="http://199.63.247.120:8080/axis2/services/SimpleService.SimpleServiceHttpSoap11Endpoint/"/>
        </wsdl:port>
        <wsdl:port name="SimpleServiceHttpSoap12Endpoint" 
binding="ns:SimpleServiceSoap12Binding">
            <soap12:address 
location="http://199.63.247.120:8080/axis2/services/SimpleService.SimpleServiceHttpSoap12Endpoint/"/>
        </wsdl:port>
        <wsdl:port name="SimpleServiceHttpEndpoint" 
binding="ns:SimpleServiceHttpBinding">
            <http:address 
location="http://199.63.247.120:8080/axis2/services/SimpleService.SimpleServiceHttpEndpoint/"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>



This is wsdl generated when the deployed on axis2-src/repository/services 
folder 

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:ns1="http://ss.tt.com/xsd"; 
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; xmlns:ns0="http://ss.tt.com"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
targetNamespace="http://ss.tt.com";>
    <wsdl:documentation>SimpleService</wsdl:documentation>
    <wsdl:types>
        <xs:schema xmlns:ns="http://ss.tt.com"; attributeFormDefault="qualified" 
elementFormDefault="qualified" targetNamespace="http://ss.tt.com";>
            <xs:element name="CalculateInsurance">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="vehicleType" 
nillable="true" type="ns1:VehicleType"/>
                        <xs:element minOccurs="0" name="regId" nillable="true" 
type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="CalculateInsuranceResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" 
type="xs:float"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:schema>
        <xs:schema xmlns:ax27="http://ss.tt.com/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://ss.tt.com/xsd";>
            <xs:complexType name="VehicleType">
                <xs:complexContent>
                    <xs:extension base="xs:Enum">
                        <xs:sequence>
                            <xs:element minOccurs="0" name="FOUR_WHEELER" 
nillable="true" type="ax27:VehicleType"/>
                            <xs:element minOccurs="0" name="TWO_WHEELER" 
nillable="true" type="ax27:VehicleType"/>
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
        </xs:schema>
    </wsdl:types>
    <wsdl:message name="CalculateInsuranceRequest">
        <wsdl:part name="parameters" element="ns0:CalculateInsurance"/>
    </wsdl:message>
    <wsdl:message name="CalculateInsuranceResponse">
        <wsdl:part name="parameters" element="ns0:CalculateInsuranceResponse"/>
    </wsdl:message>
    <wsdl:portType name="SimpleServicePortType">
        <wsdl:operation name="CalculateInsurance">
            <wsdl:input message="ns0:CalculateInsuranceRequest" 
wsaw:Action="urn:CalculateInsurance"/>
            <wsdl:output message="ns0:CalculateInsuranceResponse" 
wsaw:Action="urn:CalculateInsuranceResponse"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="SimpleServiceSOAP11Binding" 
type="ns0:SimpleServicePortType">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
        <wsdl:operation name="CalculateInsurance">
            <soap:operation soapAction="urn:CalculateInsurance" 
style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="SimpleServiceSOAP12Binding" 
type="ns0:SimpleServicePortType">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
        <wsdl:operation name="CalculateInsurance">
            <soap12:operation soapAction="urn:CalculateInsurance" 
style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="SimpleServiceHttpBinding" 
type="ns0:SimpleServicePortType">
        <http:binding verb="POST"/>
        <wsdl:operation name="CalculateInsurance">
            <http:operation location="SimpleService/CalculateInsurance"/>
            <wsdl:input>
                <mime:content type="text/xml" part="CalculateInsurance"/>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="CalculateInsurance"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="SimpleService">
        <wsdl:port name="SimpleServiceSOAP11port_http" 
binding="ns0:SimpleServiceSOAP11Binding">
            <soap:address 
location="http://localhost:8080/axis2/services/SimpleService"/>
        </wsdl:port>
        <wsdl:port name="SimpleServiceSOAP12port_http" 
binding="ns0:SimpleServiceSOAP12Binding">
            <soap12:address 
location="http://localhost:8080/axis2/services/SimpleService"/>
        </wsdl:port>
        <wsdl:port name="SimpleServiceHttpport" 
binding="ns0:SimpleServiceHttpBinding">
            <http:address 
location="http://localhost:8080/axis2/services/SimpleService"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>



If you can see there a difference in definition of Enum.
So I query is this do I need to add any new libraries to Axis2 folder in Tomcat 
installation ? Or there is a bug in the libraries distributed... 







-- 
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