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