For some reason it seems to be thinking that your HashMap contains a List of
Calendars. Are you sure your generics are set up right? Also, do you have an
aegis.xml files around which might be providing some alternate mapping of
the HashMap to types?
- Dan


On 12/4/06, Sascha Sadat-Guscheh <[EMAIL PROTECTED]> wrote:

hi @ll,

i have a method which returns -> HashMap<String, List<String>> and i
expose the method via xfire (spring).

the wsdl for the return type looks something like this

<xsd:complexType name="string2anyTypeMap">
−
<xsd:sequence>
−
<xsd:element maxOccurs="unbounded" minOccurs="0" name="entry">
−
<xsd:complexType>
−
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="key" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="value" type="xsd:anyType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>

but when i call the method i see in the serverside log a really strange
exception

2006-12-04 17:22:42,877 ERROR
[org.codehaus.xfire.service.binding.PostInvocationHandler]
java.lang.ClassCastException: java.lang.String
2006-12-04 17:22:42,877 ERROR
[org.codehaus.xfire.handler.DefaultFaultHandler] Fault occurred!
java.lang.ClassCastException: java.lang.String
at
org.codehaus.xfire.util.date.XsDateTimeFormat.format(XsDateTimeFormat.java
:307)
at java.text.Format.format(Format.java:133)
at
org.codehaus.xfire.aegis.type.basic.CalendarType.writeObject(
CalendarType.java:40)
at
org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java
:293)
at
org.codehaus.xfire.aegis.type.collection.CollectionType.writeObject(
CollectionType.java:103)
at
org.codehaus.xfire.aegis.type.basic.ObjectType.writeObject(ObjectType.java
:184)
at
org.codehaus.xfire.aegis.type.collection.MapType.writeObject(MapType.java
:169)
at
org.codehaus.xfire.aegis.AegisBindingProvider.writeParameter(
AegisBindingProvider.java:194)
at
org.codehaus.xfire.service.binding.AbstractBinding.writeParameter(
AbstractBinding.java:275)
at
org.codehaus.xfire.service.binding.WrappedBinding.writeMessage(
WrappedBinding.java:89)
at
org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java
:80)
at
org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAttachments(
HttpChannel.java:56)
at
org.codehaus.xfire.transport.http.XFireServletChannel.sendViaServlet(
XFireServletChannel.java:84)
at
org.codehaus.xfire.transport.http.XFireServletChannel.send(
XFireServletChannel.java:43)
at
org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java
:26)
at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java
:131)

do i have 2 add something to the XSI mapping thing? am i missing
something else?

thx in advance, sascha

--
Sascha Sadat-Guscheh
Senior Software Developer
--------------------------------------------
System One
Gesellschaft für technologiegestützte
Kommunikationsprozesse m.b.H.
Stiftgasse 6/2/6
1070 Wien, Austria
t: +43 (0)5 0705 - 1080
f: +43 (0)5 0705 - 1082
m: +43 (0)5 0705 - 1085
[EMAIL PROTECTED]
http://www.systemone.at

Find out how System One can work for you, watch our Screencast:
http://www.systemone.at/en/technology/overview


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email




--
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog

Reply via email to