Gensym, SOAP::Lite & Perl

[email protected] (Khalid Hanif)
Newsgroups php.soap
Message-ID <[email protected]>
Hi Guys,

I'm connecting to a SOAP Server that is being run under Perl. 
Unfortunately, there is no WSDL for this server, and all I have to go on 
is legacy Perl code.

When I receive back a response from the SOAP Server, the data is wrapped 
in gensym tags:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:apachens="http://xml.apache.org/xml-soap" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<API_ExecuteResponse xmlns="http://server.co.uk/API">
<s-gensym1437 xsi:type="xsd:string">
remote_pass</s-gensym1437>
<s-gensym1439 xsi:type="xsd:string">
*****</s-gensym1439>
<s-gensym1441 xsi:type="xsd:string">
password</s-gensym1441>
<s-gensym1443 xsi:type="xsd:string">
*****</s-gensym1443>
<s-gensym1453 xsi:type="xsd:string">
error_string</s-gensym1453>
<s-gensym1455 xsi:nil="true" />

</API_ExecuteResponse>
</soap:Body>
</soap:Envelope>

(Above has been snipped).

In the Perl code, the above is handled internally, and it will create 
the key=>value pairs as an array. However, I can't get this to work in PHP.

The perl code makes use of $result->paramsout; to do this (it appears).

To make things even more difficult, the digits within the gensym tags 
are randomly assigned, so each request is different.

Any ideas what I can do to get this to work?

Cheers,
Khalid
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.