[nycphp-talk] PHP, Perl & SOAP
Khalid Hanif
phplists at jellyandcustard.com
Mon Dec 17 13:12:35 EST 2007
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? If I had a WSDL, would
this problem be rectified?
Cheers,
Khalid
More information about the talk
mailing list