Hello,
I work with Axis Alfa3 (README from December 14, 2001), Windows 2K Prof,
JavaTM 2 SDK, Standard Edition Version 1.4.0 Beta 3.
1. Java2Wsdl
I see message:
org.apache.crimson.tree.DomEx: HIERARCHY_REQUEST_ERR: This node isn't
allowed there.
at
org.apache.crimson.tree.XmlDocument.changeNodeOwner(XmlDocument.java:1156)
at
org.apache.crimson.tree.XmlDocument.importNode(XmlDocument.java:1293)
at org.apache.axis.wsdlgen.Types.insertTypesFragment(Types.java:524)
at org.apache.axis.wsdlgen.Emitter.emit(Emitter.java:190)
at org.apache.axis.wsdlgen.Java2Wsdl.main(Java2Wsdl.java:278)
- this utility (java2wsdl) has as input Java-file. There not exist "node".
- in documentation not exist org.apache.crimson...
and
- utility can't find interface-file with absolute or relative path, only
thro CLASSPATH. This rule is not good.
2.Wsdl2java
I have own WSDL-file. But this utility can't generate classes for all data
types.
Any fragments from my wsdl file:
<simpleType name="Type1">
<restriction base="xsd:int">
<enumeration value="0"/>
<enumeration value="1"/>
</restriction>
</simpleType>
<complexType name="Type2">
<sequence>
<element name="name" type="xsd:string"/>
<element name="type" type="tns1:Type1"/>
</sequence>
</complexType>
<complexType name="ArrayOfType2">
<complexContent>
<restriction base="soapenc:Array">
<sequence>
<element maxOccurs="unbounded" name="item" type="tns1:Type2"/>
</sequence>
<attribute ref="soapenc:arrayType" arrayType="tns1:Type2[]"/>
</restriction>
</complexContent>
</complexType>
...
<message name="GetVarType2Response">
<part name="GetVarType2Result" type="tns1:ArrayOfType2"/>
</message>
...
I don't use this names (ArrayOfType2,Type2,Type1) in other places.
And, as I see, Wsdl2java does not generate files Type1.java and Type2.java.
It seems that wsdl2java generates classes only for types that used in
messages or for nested types. But here I work with array. It's strange to
see "Emit?: true" for Type1 and Type2 in translation.
Best regards