Enhance Zuora SOAP API to work nicely with the WSDL when using nillable="true"
I have a request from a customer to change the way SOAP and our WSDL work. They are having troubles with blank fields in Payment create() call throwing errors.
Here is the write-up from the customer on this issue:
In the Zuora WSDL most of the elements are marked as nillable="true", for instance, in the Payment object:
<element minOccurs="0" name="AdditionalEmailAddresses" nillable="true" type="zns:ID"/>
In standard soap, this implies that, if we want to send a null value to you, we would send:
<AdditionalEmailAddresses xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
However, the zuora objects also have the following:
<element minOccurs="0" maxOccurs="unbounded" name="fieldsToNull" nillable="true" type="string"/>
So that if we want to send up a list of fields that are to be nulled, then this is the way to do it.
Basically, this implies that zuora should change their WSDL so that no fields are marked as nillable="true", because the zuora service does NOT handle this correctly. To make our side work we have to do wrangling on our side to prevent sending nulls.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.