Hi,
I am using asp.net (vb.net) to access a set of 3rd party web services
and have successfully accessed some of them, however, when I try to
access a particular web service, I get the following error:
No Deserializer found to deserialize a ':defauts' using encoding style
'http://schemas.xmlsoap.org/soap/encoding/'.
I have noticed that it uses anchors to refer to things further down
the document, which their example does not do and I wondered if this
was the cause of the problems I am having.
e.g.
Sample created by .NET serialisation
....
<defauts href="#id2"/>
....
<soapenc:Array id="id2" soapenc:arrayType="tns:BeanDefaut[1]">
<Item href="#id4"/>
</soapenc:Array>
....
<tns:BeanDefaut id="id4" xsi:type="tns:BeanDefaut">
<code xsi:type="xsd:string">609</code>
<valeur xsi:type="xsd:string">CONNAISSANCE_ND</valeur>
</tns:BeanDefaut>
Example document given by creator of web service:
<defauts xsi:type="g03:ArrayOfBeanDefaut"
soapenc:arrayType="g03:BeanDefaut[]">
<beanDefaut xsi:type="g03:BeanDefaut">
<code xsi:type="xsd:string">CIRC_BOUCLE</code>
<valeur xsi:type="xsd:string"></valeur>
</beanDefaut>
<beanDefaut xsi:type="g03:BeanDefaut">
<code xsi:type="xsd:string">TENSION</code>
<valeur xsi:type="xsd:string"></valeur>
</beanDefaut>
</defauts>
I generated the .net classes from the wsdl files that were provided.
I am using Visual Studio 2005, .NET framework v2.0, but I also tried
generating the wsdl using the 1.1 wsdl.exe and that provided similar
results.
Do I need to override the serialisation and produce my own XML for the
arrays?
Any help gratefully received,
David