[Xml-compile] Resilience to random WSDL changes
Mark Blackman
m.blackman at fairfx.com
Thu Mar 1 16:57:15 GMT 2012
On 1 Mar 2012, at 16:44, Mark Blackman wrote:
>
> On 1 Mar 2012, at 16:35, Michael Ludwig wrote:
>
>> The provider of the service I'm interfacing with sometimes makes
>> random changes to the published WSDL and the implementation behind.
>> Unsurprisingly, processing then fails:
>>
>> error: decode error: data for element or block starting with `Age' missing at {http://superlister.aucland.com/QxlRicardoServices/}CheckAccountResponse/CheckAccountResult
>> Errors while decoding:
>> error: decode error: data for element or block starting with `Age' missing at {http://superlister.aucland.com/QxlRicardoServices/}CheckAccountResponse/CheckAccountResult
>> error: decode error: data for element or block starting with `Age' missing at {http://superlister.aucland.com/QxlRicardoServices/}CheckAccountResponse/CheckAccountResult
>> Errors while decoding:
>> error: decode error: data for element or block starting with `Age' missing at {http://superlister.aucland.com/QxlRicardoServices/}CheckAccountResponse/CheckAccountResult
>
> We usually see this when they add a new element at the same level and the relative index
> for the 'Age' element has changed but is still present. I presume the SOAP spec. is
> fussy about order of elements, but I have only recently appreciated that.
More specifically, this is because the WSDL used to intrepret the response
is probably declaring a complex type composed of an XML-Schema "sequence"
type where order matters. You could use your own copy of the WSDL but change
it to "all" instead of "sequence".
- Mark
More information about the Xml-compile
mailing list