I'm not sure if this is answering your question, but let me see if I can help 
out. I've successfully used WSDL's to generate most of my Axis code. When 
dealing with xsd:anyType, you just need some code to correctly type it. If you 
are using Java you just need a series of if-then-else statements using 
instanceof to determine which deserializer to use. For example, here content is 
passed in as the result of an xsd:anyType element. I use it for handling 
attachments. It seems to work with either .NET or J2EE requestors:

    public static byte[] convertToBytes(Object content)
    {
        content = doc.getContent();
        if(content instanceof byte[])
            dataOUT = (byte[])content;
        else
        if(content instanceof DataHandler)
        {
            DataHandler dhData = (DataHandler)content;
            dataOUT = getBytesFromStream(dhData);
        } else
        if(content instanceof AttachmentPart)
        {
            AttachmentPart attch = (AttachmentPart)content;
            dataOUT = getBytesFromStream(attch.getActivationDataHandler());
        } else
        {
            throw new IllegalArgumentException("Could not convert to bytes 
from: " + content + " Argument type is unknown!");
        }
        return dataOUT;
    }

>>> [EMAIL PROTECTED] 12/16/04 09:18AM >>>
Well that explains that problem.

If I use "anyType", I'll need some way to specify a deserializer for the
element. 

The actual deserializer is trivial, just return the MessageElement, but
is there an easy way to map the deserializer to that element? 

Actually it would be ok to treat all "anyType" the same. 

I'd like to generate everything from the WSDL definition as part of our
build process and not have to modify the resulting wsdd to add
typeMapping entries.

Sam

> -----Original Message-----
> From: Jeff Greif [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, December 15, 2004 6:18 PM
> To: [EMAIL PROTECTED] 
> Subject: Re: Element with type="xsd:any"
> 
> xsd:any is not a defined type.  You probably mean xsd:anyType.
> ----- Original Message -----
> From: "Samuel Solon" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, December 15, 2004 3:08 PM
> Subject: Element with type="xsd:any"
> 
> 
> I'm using WSDL to define messages that have one (or more) elements
> containing arbitrary XML and I'm running into problems.
> 
> I tried:
> 
>       <xsd:complexType name="AddContact">
>         <xsd:sequence>
>           <xsd:element name="UserId" type="xsd:string"/>
>           <xsd:element name="AbookId" type="xsd:string"/>
>           <xsd:element name="Contact" type="xsd:any"/>
>         </xsd:sequence>
>       </xsd:complexType>
> 
> 



Reply via email to