AW: [Xml-compile] Resilience to random WSDL changes

Michael Ludwig m.ludwig at epages.com
Thu Mar 1 16:59:22 GMT 2012


> Von: Mark Blackman
> 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'

> 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.

That might also trigger the error. In this case, they removed the
element. Either way, what matters is that the SOAP library doesn't
like it. My program doesn't need the <Age> element, it is not part
of the data set relevant to my application.

The fix is to download the new WSDL and run your test suite. But when
you deploy your installation, all instances have to be patched. This
is not great.

Michael



More information about the Xml-compile mailing list