Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
1.6.0
-
None
-
None
-
WSO2/WSAS 3.2.0
Description
Hey,
First of all, i thought the new WSAS release would correct the bad wsdl generation but it didn't. I think is because the axis2-1.6 version that they use is still not-up-to-date.
I will explain my problem.... I have to enter in Production this Friday (May 7) and i'm considering going to another server. My boss is telling me "Leave them leave them and let's go to Metro" but i say "This is the best one". But with cases like this my mind is getting bended....
Now for the wsdl:
It all started with this issue:
https://issues.apache.org/jira/browse/AXIS2-4650
Amila corrected the DefaultSchemaGenerator.java and i "downloaded" the axis2-SNAPSHOT. With java2wsdl inside the SNAPSHOT, and the build.xml pointing to that jar, i created my wsdl perfectly(so i think).
Here is an example:
...
<xs:complexType name="Entity_EntityPersonWithContactType">
−
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="digitalAddress" nillable="true" type="ax21:DigitalAddress_DigitalAddressType"/>
<xs:element minOccurs="0" name="entity" nillable="true" type="ax21:Entity_EntityPersonType"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="phoneNumber" nillable="true" type="ax21:PhoneNumber_PhoneNumberType"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="postalAddress" nillable="true" type="ax21:PostalAddress_PostalAddressType"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="postalAddressPhoneNumber" nillable="true" type="ax21:PostalAddress_PostalAddressPhoneNumberType"/>
</xs:sequence>
</xs:complexType>
...
With the WSAS creating the wsdl, it generates wrong the wsdl:
....
<xs:complexType name="Entity_EntityPersonWithContactType">
−
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="digitalAddress" nillable="true"/>
<xs:element minOccurs="0" name="entity" nillable="true"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="phoneNumber" nillable="true"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="postalAddress" nillable="true"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="postalAddressPhoneNumber" nillable="true"/>
</xs:sequence>
</xs:complexType>
....
Now when i deploy my custom wsdl, the response isn't getting mapped correctly:
Here is another example:
<getCAEResponse>
<return>
<id>A</id>
<name>Agricultura, produção animal, caça, floresta e pesca</name>
</return>
</getCAEResponse>
In the default wsdl by the WSAS, it creates it correctly:
<ns:getCAEResponse>
<ns:return xsi:type="ns:IdNameReturnType">
<ns:id>A</ns:id>
<ns:name>Agricultura, produção animal, caça, floresta e pesca</ns:name>
</ns:return>
</ns:getCAEResponse>
Can anybody think of what is going wrong? When what should i do to overcome this? How can i make the WSAS use the last revision(not at revision91something) of axis2(at revision 94something)?
Notes:
-> I put my custom wsdl, services.xml in the META-INF dir and then aar on that and then put the aar in the new folder of the WSAS (..axis2services).