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.

Reply via email to