PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Web Services » SOAP » Bug #6300

Complex types, SOAP envelop error

Details

Submitted2005-12-20 14:00 UTC
Frompatrick at studioemma dot be
StatusNo Feedback
PackageSOAP
PHP Version4.3.3
OSRedhat
Roadmaps(Not assigned)

Comments

[2005-12-20 14:00 UTC] patrick at studioemma dot be

Description:
------------
Problem in 0.91, the envelop contains errors when using complex types. Therefore it's not compat with DOT NET.

An envelope created with PEAR_SOAP 0.81 has this structure:
...
<order_producten xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="ns4:clsBestellingProduct[2]" SOAP-ENC:offset="[0]">
<product xsi:type="ns4:clsBestellingProduct">
<order_id xsi:type="xsd:int">23</order_id>
<product_id xsi:type="xsd:int">22</product_id>
<aantal_besteld xsi:type="xsd:int">3</aantal_besteld>
<aantal_gereserveerd xsi:type="xsd:int">0</aantal_gereserveerd>
<aantal_reedsafgehaald xsi:type="xsd:int">0</aantal_reedsafgehaald></product>
<product xsi:type="ns4:clsBestellingProduct">
<order_id xsi:type="xsd:int">23</order_id>
<product_id xsi:type="xsd:int">22</product_id>
<aantal_besteld xsi:type="xsd:int">3</aantal_besteld>
<aantal_gereserveerd xsi:type="xsd:int">0</aantal_gereserveerd>
<aantal_reedsafgehaald xsi:type="xsd:int">0</aantal_reedsafgehaald></product></order_producten></order></ns5:getOrderResponse>
</SOAP-ENV:Body>

Which is perfectly usable and correct, however PEAR_SOAP 0.91 creates a different (erroneous) envelope with the same piece of code (not ns4:product, it's is unrecognizable):

...
<order_producten xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="ns4:clsBestellingProduct[2]" SOAP-ENC:offset="[0]">
<ns4:product>
<value>
<order_id xsi:type="xsd:int">23</order_id>
<product_id xsi:type="xsd:int">22</product_id>
<aantal_besteld xsi:type="xsd:int">3</aantal_besteld>
<aantal_gereserveerd xsi:type="xsd:int">0</aantal_gereserveerd>
<aantal_reedsafgehaald xsi:type="xsd:int">0</aantal_reedsafgehaald></value>
<name xsi:type="xsd:string">product</name>
<type xsi:type="xsd:string">clsBestellingProduct</type>
<namespace xsi:type="xsd:string"></namespace>
<type_namespace xsi:type="xsd:string">http://soapinterop.org/xsd</type_namespace>
<attributes xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:anyType[0]" xsi:nil="true"/>
<arrayType xsi:type="xsd:string"></arrayType>
<options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:anyType[0]" xsi:nil="true"/>
<nqn>
<name xsi:type="xsd:string">product</name>
<ns xsi:type="xsd:string"></ns>
<namespace xsi:type="xsd:string"></namespace></nqn>
<tqn>
<name xsi:type="xsd:string">clsBestellingProduct</name>
<ns xsi:type="xsd:string"></ns>
<namespace xsi:type="xsd:string">http://soapinterop.org/xsd</namespace></tqn>
<type_prefix xsi:type="xsd:string"></type_prefix></ns4:product>
<ns4:product>
<value>
<order_id xsi:type="xsd:int">23</order_id>
<product_id xsi:type="xsd:int">22</product_id>
<aantal_besteld xsi:type="xsd:int">3</aantal_besteld>
<aantal_gereserveerd xsi:type="xsd:int">0</aantal_gereserveerd>
<aantal_reedsafgehaald xsi:type="xsd:int">0</aantal_reedsafgehaald></value>
<name xsi:type="xsd:string">product</name>
<type xsi:type="xsd:string">clsBestellingProduct</type>
<namespace xsi:type="xsd:string"></namespace>
<type_namespace xsi:type="xsd:string">http://soapinterop.org/xsd</type_namespace>
<attributes xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:anyType[0]" xsi:nil="true"/>
<arrayType xsi:type="xsd:string"></arrayType>
<options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:anyType[0]" xsi:nil="true"/>
<nqn>
<name xsi:type="xsd:string">product</name>
<ns xsi:type="xsd:string"></ns>
<namespace xsi:type="xsd:string"></namespace></nqn>
<tqn>
<name xsi:type="xsd:string">clsBestellingProduct</name>
<ns xsi:type="xsd:string"></ns>
<namespace xsi:type="xsd:string">http://soapinterop.org/xsd</namespace></tqn>
<type_prefix xsi:type="xsd:string"></type_prefix></ns4:product></order_producten></order></ns5:getOrderResponse>
</SOAP-ENV:Body>