users@jax-rpc.java.net

ArrayOutofBounds exception when deserializing

From: jax man <bytecode_at_PHREAKER.NET>
Date: Thu, 01 Aug 2002 10:04:48 -0600

Hi.

I m trying to consume a doc/literal web service on the net. The service works fine from non-java clients.


When I use JAX-RPC to consume it (using the WSDL) the code generation works fine.

When I invoke methods to on that service the SOAP request gets generated and the correct soap response is returned by the server (Using TCP snoop)

However the RI has problems unmarshalling the response (which is a base64 encoded image).

Is there some config I m missing here ? Below is the exception trace and the response returned by the server

Thanks
/S





Exception in thread "main" java.rmi.RemoteException: Runtime exception; nested exception is:
        deserialization error: deserialization error: java.lang.ArrayIndexOutOfBoundsException
deserialization error: deserialization error: java.lang.ArrayIndexOutOfBoundsException
        at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.deserialize(LiteralObjectSerializerBase.java:87)




CAUSE:

deserialization error: java.lang.ArrayIndexOutOfBoundsException
        at com.sun.xml.rpc.encoding.literal.LiteralSimpleTypeSerializer.deserialize(LiteralSimpleTypeSerializer.java:131)
        at generated.GetTileResponse_LiteralSerializer.doDeserialize(Unknown Source)
        at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalDeserialize(LiteralObjectSerializerBase.ja
va:174)
        at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.deserialize(LiteralObjectSerializerBase.java:84)


-----------------------------------------------


Sample SOAP response returned by server

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body><GetTileResponse xmlns="http://localhost.net/localserver/">
<GetTileResult>

data here ... data here ....

</GetTileResult>
</GetTileResponse>
</soap:Body>
</soap:Envelope>