Here is my service method definition: public List find(Map<String,
Object[]> criteria);
Is xfire unable to handle this sort of thing? The generated complexType
also doesn't seem to match..
Some of the xfire-generated WSDL:
<xsd:complexType name="anyType2anyTypeMap">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="entry">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="key"
type="xsd:anyType"/>
<xsd:element maxOccurs="1" minOccurs="0" name="value"
type="xsd:anyType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="find">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="in0"
nillable="true" type="tns:anyType2anyTypeMap"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Here is the stacktrace:
java.lang.StackOverflowError
at javax.xml.namespace.QName.hashCode(Unknown Source)
at java.util.HashMap.hash(HashMap.java:264)
at java.util.HashMap.get(HashMap.java:320)
at java.util.Collections$SynchronizedMap.get(Collections.java:1979)
at org.codehaus.xfire.aegis.type.CustomTypeMapping.getType(
CustomTypeMapping.java:131)
at org.codehaus.xfire.aegis.type.CustomTypeMapping.getType(
CustomTypeMapping.java:134)
at org.codehaus.xfire.aegis.type.basic.ObjectType.readObject(
ObjectType.java:110)
at org.codehaus.xfire.aegis.type.basic.ObjectType.readObject(
ObjectType.java:133)
at org.codehaus.xfire.aegis.type.basic.ObjectType.readObject(
ObjectType.java:133)
...
thanks. much appreciated.