У мяне ёсць прыкладанне Delphi XE, якое выкарыстоўвае вэб-сэрвіс, напісаны ў Cold Fusion (я не магу кантраляваць фармат вываду службы). Я выкарыстаў WSDL Importer у Delphi для стварэння свайго блока для званкоў на вэб-службу. Я сутыкаюся з сітуацыямі, калі ў Delphi я атрымліваю выключэнне, у якім гаворыцца, што "дадзеныя элемента" не ўтрымліваюць ніводнага тэкставага вузла ".
Адпаведная частка XML, якая вяртаецца з вэб-службы, калі я атрымліваю выключэнне, гэта :
<data soapenc:arrayType="xsd:anyType[][1]" xsi:type="soapenc:Array">
<data soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
<data xsi:type="soapenc:string">6490</data>
<data xsi:type="soapenc:string">Other Expense</data>
</data>
</data>
Калі XML з вэб-службы ўтрымлівае больш аднаго
дзіцяці, выключэнне не ўзнікае.
<data soapenc:arrayType="xsd:anyType[][3]" xsi:type="soapenc:Array">
<data soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
<data xsi:type="soapenc:string">2600</data>
<data xsi:type="soapenc:string">Deferred Revenue</data>
</data>
<data soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
<data xsi:type="soapenc:string">4120</data>
<data xsi:type="soapenc:string">Non-Credit Income</data>
</data>
<data soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
<data xsi:type="soapenc:string">6490</data>
<data xsi:type="soapenc:string">Other Expense</data>
</data>
</data>
Што выклікае гэтае выключэнне і ці ёсць спосаб абыйсці яго, не маючы магчымасці змяніць Сам вэб-сэрвіс?