From my little experience working with XFire, I got an "anyType" on the WSDL
schema whenever there was a problem finding out the type (componentType) of
the Map (although I've never tried it out on java5). Still this is not a
very common case of Map of Lists which is also not very popular.

I believe Dan put some interesting doc on the XFire site regarding mapping
collections of collections or maps of collections and so on. (on aegis
mapping, do not know if it also works for java 1.5)

Still, your best bet is probably to debug the program starting here [
org.codehaus.xfire.aegis.type.collection.CollectionType.writeObject(
CollectionType.java:103)], since somewhere around here XFire should be
trying to find out the type of object to create.


Regards
Andres B.

On 12/4/06, Dan Diephouse <[EMAIL PROTECTED]> wrote:

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