You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2010/01/26 02:28:56 UTC
svn commit: r903039 -
/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParmHeaderFileWriter.java
Author: nadiramra
Date: Tue Jan 26 01:28:56 2010
New Revision: 903039
URL: http://svn.apache.org/viewvc?rev=903039&view=rev
Log:
Add code to get around cyclic include problem
Modified:
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParmHeaderFileWriter.java
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParmHeaderFileWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParmHeaderFileWriter.java?rev=903039&r1=903038&r2=903039&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParmHeaderFileWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParmHeaderFileWriter.java Tue Jan 26 01:28:56 2010
@@ -443,6 +443,26 @@
+ type.getName().getNamespaceURI() + "\";\n");
c_writer.write("static const char Axis_TypeName_" + c_classname
+ "[] = \"" + type.getName().getLocalPart() + "\";\n\n");
+
+ // Define struct to avoid compilation issues (cycle in includes).
+ // This is a must for complex wsdl files.
+ typeSet = new HashSet();
+ for (int i = 0; i < attribs.length; i++)
+ {
+ if (!attribs[i].isArray() &&
+ !(attribs[i].isSimpleType() || attribs[i].getType().isSimpleType())
+ && !attribs[i].isAnyElement())
+ {
+ typeSet.add(attribs[i].getTypeName());
+ }
+ }
+
+ itr = typeSet.iterator();
+ while (itr.hasNext())
+ {
+ String t = itr.next().toString();
+ c_writer.write("typedef struct " + t + "Tag " + t + ";\n");
+ }
}
catch (IOException e)
{