scheu 2002/09/26 14:52:13
Modified: java/src/org/apache/axis/wsdl/fromJava Emitter.java
Types.java
Log:
More changes per review of code by Tom and I. this is all related
to the 12347 bug fix.
Revision Changes Path
1.65 +1 -1 xml-axis/java/src/org/apache/axis/wsdl/fromJava/Emitter.java
Index: Emitter.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/fromJava/Emitter.java,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- Emitter.java 26 Sep 2002 21:13:25 -0000 1.64
+++ Emitter.java 26 Sep 2002 21:52:12 -0000 1.65
@@ -1088,7 +1088,7 @@
QName typeQName =
types.writeTypeForPart(javaType,
param.getTypeQName());
- types.writeElementForPart(javaType,
+ QName elemQName = types.writeElementForPart(javaType,
param.getTypeQName());
if (typeQName != null) {
part.setName(param.getName());
1.63 +13 -7 xml-axis/java/src/org/apache/axis/wsdl/fromJava/Types.java
Index: Types.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/fromJava/Types.java,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -r1.62 -r1.63
--- Types.java 26 Sep 2002 21:13:25 -0000 1.62
+++ Types.java 26 Sep 2002 21:52:13 -0000 1.63
@@ -231,7 +231,9 @@
* @param type <code>Class</code> to generate the XML Schema info for
* @param qname <code>QName</code> of the type. If null, qname is
* defaulted from the class.
- * @return the QName of the generated Schema type, null if void
+ * @return the QName of the generated Schema type, null if void,
+ * if the Class type cannot be converted to a schema type
+ * then xsd:anytype is returned.
*/
public QName writeTypeForPart(Class type, QName qname) throws AxisFault {
//patch by costin to fix an NPE; commented out till we find out what the
problem is
@@ -265,8 +267,10 @@
writeWsdlTypesElement();
}
- // write the type
- writeType(type, qname);
+ // Write the type, if problems occur use ANYTYPE
+ if (writeType(type, qname) == null) {
+ qname = Constants.XSD_ANYTYPE;
+ }
return qname;
}
@@ -318,8 +322,10 @@
writeWsdlTypesElement();
}
- // Write Element
- writeTypeAsElement(type, qname);
+ // Write Element, if problems occur return null.
+ if (writeTypeAsElement(type, qname) == null) {
+ qname = null;
+ }
return qname;
}
@@ -380,7 +386,7 @@
/**
* Create a schema element for the given type
* @param type the class type
- * @return the QName of the generated Element or null if no element written
+ * @return the QName of the generated Element or problems occur
*/
private QName writeTypeAsElement(Class type, QName qName) throws AxisFault {
if (qName == null ||
@@ -598,7 +604,7 @@
*
* @param type Class for which to generate schema
* @param qName of the type to write
- * @return a prefixed string for the schema type
+ * @return a prefixed string for the schema type or null if problems occur
*/
public String writeType(Class type, QName qName) throws AxisFault {
// Get a corresponding QName if one is not provided