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
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to