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