Multiref in soap response

sopragroup

New Member
Hello everybody,

I have a little problem parsing a SOAP response (using DOM parsing)
in OpenEdge 10.1.a :

Using the "SOAP spy" tool, I can see the entire SOAP response :

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
<soapenv:Body>

<ns1:getAdresseResponse xmlns:ns1="http://service.metier.tiersi.cnaf" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<getAdresseReturn href="#id0" />
</ns1:getAdresseResponse>

<multiRef id="id0" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://service.metier.tiersi.cnaf" xsi:type="ns2:BgAdresse">
<codepostal href="#id1" />
<commune xsi:type="soapenc:string">Orleans</commune>
<voie xsi:type="soapenc:string">rue Jeanne</voie>
</multiRef>

<multiRef id="id1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:int">45000
</multiRef>

</soapenv:Body>
</soapenv:Envelope>


the problem is that the only thing I can get in my program is :
(I load the longchar variable in a X-DOCUMENT object = LOAD method,
and then save it to a file = SAVE method).

<?xml version="1.0" ?>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://service.metier.tiersi.cnaf" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:BgAdresse">
<codepostal href="#id1" />
<commune xsi:type="soapenc:string">Orleans</commune>
<voie xsi:type="soapenc:string">rue Jeanne</voie>
</multiRef>



So, the "href" mechanism works for the id "id0" but not for the id "id1".

The field "codepostal" (french word for zipcode) has a value of "#id1", and it should be "45000"...

Any idea ?

Thanks in advance...
 
Top