You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2007/06/29 13:56:12 UTC
svn commit: r551859 - in /webservices/axis2/trunk/java/modules:
integration/test-resources/ComplexDataTypes/
kernel/src/org/apache/axis2/description/java2wsdl/
Author: deepal
Date: Fri Jun 29 04:56:11 2007
New Revision: 551859
URL: http://svn.apache.org/viewvc?view=rev&rev=551859
Log:
fixing AXIS2-2792
- Now we do not generate duplicate messages for the same exception type
Modified:
webservices/axis2/trunk/java/modules/integration/test-resources/ComplexDataTypes/ComplexDataTypes.wsdl
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java
Modified: webservices/axis2/trunk/java/modules/integration/test-resources/ComplexDataTypes/ComplexDataTypes.wsdl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test-resources/ComplexDataTypes/ComplexDataTypes.wsdl?view=diff&rev=551859&r1=551858&r2=551859
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test-resources/ComplexDataTypes/ComplexDataTypes.wsdl (original)
+++ webservices/axis2/trunk/java/modules/integration/test-resources/ComplexDataTypes/ComplexDataTypes.wsdl Fri Jun 29 04:56:11 2007
@@ -16,56 +16,48 @@
elementFormDefault="qualified"
targetNamespace="http://arrays.data.complex.tempuri.org/xsd">
<xs:import namespace="http://data.complex.tempuri.org/xsd"/>
- <xs:element name="ArrayOfshort" type="ax22:ArrayOfshort"/>
<xs:complexType name="ArrayOfshort">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="_short" nillable="true"
type="xs:short"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="ArrayOfPerson" type="ax22:ArrayOfPerson"/>
<xs:complexType name="ArrayOfPerson">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="person" nillable="true"
type="ax24:Person"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="ArrayOfArrayOfstring" type="ax22:ArrayOfArrayOfstring"/>
<xs:complexType name="ArrayOfArrayOfstring">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="arrayOfstring"
nillable="true" type="ax22:ArrayOfstring"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="ArrayOfstring" type="ax22:ArrayOfstring"/>
<xs:complexType name="ArrayOfstring">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="string" nillable="true"
type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="ArrayOfNullableOfdateTime" type="ax22:ArrayOfNullableOfdateTime"/>
<xs:complexType name="ArrayOfNullableOfdateTime">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="dateTime" nillable="true"
type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="ArrayOfNullableOfdecimal" type="ax22:ArrayOfNullableOfdecimal"/>
<xs:complexType name="ArrayOfNullableOfdecimal">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="decimal" nillable="true"
type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="ArrayOfanyType" type="ax22:ArrayOfanyType"/>
<xs:complexType name="ArrayOfanyType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="anyType" nillable="true"
type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="ArrayOfint" type="ax22:ArrayOfint"/>
<xs:complexType name="ArrayOfint">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="_int" nillable="true"
@@ -78,7 +70,6 @@
elementFormDefault="qualified"
targetNamespace="http://data.complex.tempuri.org/xsd">
<xs:import namespace="http://arrays.data.complex.tempuri.org/xsd"/>
- <xs:element name="BitMask" type="ax21:BitMask"/>
<xs:complexType name="BitMask">
<xs:sequence>
<xs:element minOccurs="0" name="BIT_FIVE" nillable="true" type="ax21:BitMask"/>
@@ -88,7 +79,6 @@
<xs:element minOccurs="0" name="BIT_TWO" nillable="true" type="ax21:BitMask"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="Employee" type="ax21:Employee"/>
<xs:complexType name="Employee">
<xs:sequence>
<xs:element minOccurs="0" name="baseDetails" nillable="true"
@@ -99,7 +89,6 @@
type="ax23:ArrayOfshort"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="Person" type="ax21:Person"/>
<xs:complexType name="Person">
<xs:sequence>
<xs:element minOccurs="0" name="age" nillable="true" type="xs:double"/>
@@ -108,14 +97,12 @@
<xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="Furniture" type="ax21:Furniture"/>
<xs:complexType name="Furniture">
<xs:sequence>
<xs:element minOccurs="0" name="color" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="price" nillable="true" type="xs:float"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="Group" type="ax21:Group"/>
<xs:complexType name="Group">
<xs:sequence>
<xs:element minOccurs="0" name="members" nillable="true"
@@ -123,13 +110,11 @@
<xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="Name" type="ax21:Name"/>
<xs:complexType name="Name">
<xs:sequence>
<xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:element name="Table" type="ax21:Table"/>
<xs:complexType name="Table">
<xs:complexContent>
<xs:extension base="ax21:Furniture">
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java?view=diff&rev=551859&r1=551858&r2=551859
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java Fri Jun 29 04:56:11 2007
@@ -86,6 +86,9 @@
protected Class serviceClass = null;
protected AxisService service;
+ //To check whether we need to generate Schema element for Exception
+ protected boolean generateBaseException ;
+
public NamespaceGenerator getNsGen() throws Exception {
if (nsGen == null) {
nsGen = new DefaultNamespaceGenerator();
@@ -235,20 +238,37 @@
if (AxisFault.class.getName().equals(extype.getQualifiedName())) {
continue;
}
- String partQname = extype.getSimpleName() + "Fault";
+ if (!generateBaseException) {
+ methodSchemaType = createSchemaTypeForMethodPart("Exception");
+ sequence = new XmlSchemaSequence();
+ QName schemaTypeName = typeTable.getSimpleSchemaTypeName(Exception.class.getName());
+ addContentToMethodSchemaType(sequence,
+ schemaTypeName,
+ "Exception",
+ false);
+ methodSchemaType.setParticle(sequence);
+ generateBaseException = true;
+ }
+ String partQname = extype.getSimpleName();
methodSchemaType = createSchemaTypeForMethodPart(partQname);
sequence = new XmlSchemaSequence();
- generateSchemaForType(sequence, extype, extype.getSimpleName());
- methodSchemaType.setParticle(sequence);
+ if (Exception.class.getName().equals(extype.getQualifiedName())) {
+ addContentToMethodSchemaType(sequence,
+ typeTable.getComplexSchemaType("Exception"),
+ partQname,
+ false);
+ methodSchemaType.setParticle(sequence);
+ typeTable.addComplexSchema(Exception.class.getPackage().getName(),
+ methodSchemaType.getQName());
+ } else {
+ generateSchemaForType(sequence, extype, extype.getSimpleName());
+ methodSchemaType.setParticle(sequence);
+ }
if (AxisFault.class.getName().equals(extype.getQualifiedName())) {
continue;
}
AxisMessage faultMessage = new AxisMessage();
- if (extypes.length > 1) {
- faultMessage.setName(methodName + "Fault" + j);
- } else {
- faultMessage.setName(methodName + "Fault");
- }
+ faultMessage.setName(extype.getSimpleName());
faultMessage.setElementQName(typeTable.getQNamefortheType(partQname));
axisOperation.setFaultMessages(faultMessage);
}
@@ -419,7 +439,7 @@
complexType.setName(simpleName);
- xmlSchema.getItems().add(eltOuter);
+// xmlSchema.getItems().add(eltOuter);
xmlSchema.getElements().add(schemaTypeName, eltOuter);
eltOuter.setSchemaTypeName(complexType.getQName());
@@ -494,7 +514,6 @@
for (int i = 0; i < froperties.length; i++) {
JField field = froperties[i];
- String propertyName = field.getType().getQualifiedName();
boolean isArryType = field.getType().isArrayType();
this.generateSchemaforFieldsandProperties(xmlSchema, sequence, field.getType(),
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java?view=diff&rev=551859&r1=551858&r2=551859
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java Fri Jun 29 04:56:11 2007
@@ -99,20 +99,37 @@
if (AxisFault.class.getName().equals(extype.getQualifiedName())) {
continue;
}
- String partQname = extype.getSimpleName() + "Fault";
+ if (!generateBaseException) {
+ methodSchemaType = createSchemaTypeForMethodPart("Exception");
+ sequence = new XmlSchemaSequence();
+ QName schemaTypeName = typeTable.getSimpleSchemaTypeName(Exception.class.getName());
+ addContentToMethodSchemaType(sequence,
+ schemaTypeName,
+ "Exception",
+ false);
+ methodSchemaType.setParticle(sequence);
+ generateBaseException = true;
+ }
+ String partQname = extype.getSimpleName();
methodSchemaType = createSchemaTypeForMethodPart(partQname);
sequence = new XmlSchemaSequence();
- generateSchemaForType(sequence, extype, extype.getSimpleName());
- methodSchemaType.setParticle(sequence);
+ if (Exception.class.getName().equals(extype.getQualifiedName())) {
+ addContentToMethodSchemaType(sequence,
+ typeTable.getComplexSchemaType("Exception"),
+ partQname,
+ false);
+ methodSchemaType.setParticle(sequence);
+ typeTable.addComplexSchema(Exception.class.getPackage().getName(),
+ methodSchemaType.getQName());
+ } else {
+ generateSchemaForType(sequence, extype, extype.getSimpleName());
+ methodSchemaType.setParticle(sequence);
+ }
if (AxisFault.class.getName().equals(extype.getQualifiedName())) {
continue;
}
AxisMessage faultMessage = new AxisMessage();
- if (extypes.length > 1) {
- faultMessage.setName(methodName + "Fault" + j);
- } else {
- faultMessage.setName(methodName + "Fault");
- }
+ faultMessage.setName(extype.getSimpleName());
faultMessage.setElementQName(typeTable.getQNamefortheType(partQname));
axisOperation.setFaultMessages(faultMessage);
}
@@ -397,7 +414,7 @@
complexType.setName(simpleName);
- xmlSchema.getItems().add(eltOuter);
+// xmlSchema.getItems().add(eltOuter);
xmlSchema.getElements().add(schemaTypeName, eltOuter);
eltOuter.setSchemaTypeName(complexType.getQName());
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org