You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@xml.apache.org by chan <kc...@hknet.com> on 2001/03/20 14:44:56 UTC
deserializer for double array
i encounter a problem in deserializing a double array
public class Invoice
{
String name;
int amount;
int[][] array;
The following codes were used:
SOAPMappingRegistry registry = new SOAPMappingRegistry();
QName qname = new QName( "urn:my_encoding", "Invoice" );
BeanSerializer serializer = new BeanSerializer();
registry.mapTypes( Constants.NS_URI_SOAP_ENC, qname, arrayt.Invoice.class, serializer, serializer );
Invoice inv=new Invoice( "MyInvoice", 42, new int[][]{{3,4,5},{40,50,60},{400,500,600}} );
params.addElement( new Parameter( "invoice", arrayt.Invoice.class, inv, null ) );
call.setParams( params );
Serialization was OK:
<array xmlns:ns3="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:Array" ns3:arrayType="ns3:Array[3]">
<item xsi:type="ns3:Array" ns3:arrayType="xsd:int[3]">
<item xsi:type="xsd:int">3</item>
<item xsi:type="xsd:int">4</item>
<item xsi:type="xsd:int">5</item>
</item>
<item xsi:type="ns3:Array" ns3:arrayType="xsd:int[3]">
<item xsi:type="xsd:int">40</item>
<item xsi:type="xsd:int">50</item>
<item xsi:type="xsd:int">60</item>
</item>
<item xsi:type="ns3:Array" ns3:arrayType="xsd:int[3]">
<item xsi:type="xsd:int">400</item>
<item xsi:type="xsd:int">500</item>
<item xsi:type="xsd:int">600</item>
</item>
</array>
But deserialization generated the following fault:
<faultstring>No mapping found for 'http://schemas.xmlsoap.org/soap/encoding/:Array' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.</faultstring>
can anybody help me please? thanks.
kenny