users@jax-rpc.java.net

Re: anyType problems

From: Anne Thomas Manes <atmanes_at_gmail.com>
Date: Mon, 21 Mar 2005 11:30:10 -0500

Sami,

If you want "Value" to be of type byte array, then define it that way.
Right now you have not defined a type for "Value", and therefore
Schema defines it as "anyType", and JAXRPC maps it to SOAPElement.
Alternatively, you can define a customer deserializer for Value which
automatically maps it to a byte array.

Anne

On Mon, 21 Mar 2005 10:42:53 +0200, Sami Lakka <sami.lakka_at_tut.fi> wrote:
>
>
>
> JWSDP 1.5 generates SOAPElement for the element Value from the following
> WSDL snippet.
>
>
>
> <s:complexType name="ItemValue">
>
> <s:sequence>
>
> <s:element minOccurs="0" maxOccurs="1" name="Value" />
>
>
> </s:sequence>
>
> </s:complexType>
>
>
>
> The problem is that a client sends array of bytes (see below)
>
>
>
> <Value xsi:type="xsd:anyType">[Ljava.lang.Byte;@19977e3</Value>
>
>
>
> and because JWSDP has generated SOAPElement I'm unable to cast the value
> ("[Ljava.lang.Byte;@19977e3")
>
> to Byte- array. This is because SOAPElement naturally gives the value as a
> String, not as an object. How can I cast the String value
> ("[Ljava.lang.Byte;@19977e3") to Byte
>
> array? Should I change the WSDL- declaration and set the type of Value as
> anyType?
>
>
>
>
>
> Best Regards,
>
> - Sami
>
>