RE: [SOAP] NuSoap works but PHP Soap extensions don't?
| From: | Dmitry Stogov | Date: | Thu, 29 Sep 2005 10:13:41 +0000 |
| Subject: | RE: [SOAP] NuSoap works but PHP Soap extensions don't? | ||
| References: | 1 | Groups: | php.soap |
| Request: | Send a blank email to php-soap+get-2016@lists.php.net to get a copy of this message | ||
Hi,
I just fixed several issues in ext/soap CVS. You can try snapshot from
http://snaps.php.net (older then Sep 29) or rebuld php from CVS.
Now ext/soap does near the same request as nuSoap, but I wasn't able to get
good result with your examples (both ext/soap and nuSoap return "Inalid
request" fault).
Thanks. Dmitry.
> -----Original Message-----
> From: Richard K. Miller [mailto:richardkmiller@gmail.com]
> Sent: Wednesday, September 28, 2005 1:29 AM
> To: soap@lists.php.net
> Subject: [SOAP] NuSoap works but PHP Soap extensions don't?
>
>
> Hi all,
>
> I am trying to access the MSN Search API with SOAP. Passing
> the same
> array of parameters to the PHP SOAP Extension and NuSoap produces
> different results. The PHP SOAP seem to be broken, while
> NuSoap works.
>
> <?php // common code -- the array of search parameters
> $request = array('Request' => array('AppID' =>
> 'MSN_SEARCH_API_KEY',
> 'Query' => 'Seinfeld', 'CultureInfo' => 'en-US',
> 'SafeSearch' =>
> 'Strict', 'Flags' => '', 'Location' =>
> '', 'Requests' => array
> ('SourceRequest' => array('Source' => 'Web',
> 'Offset' => 0, 'Count'
> => 50, 'ResultFields' => 'All'))));
> ?>
>
> <?php // 1. PHP 5 Soap extension
> $soapClient = new SoapClient("http://soap.search.msn.com/
> webservices.asmx?wsdl");
> $return = $soapClient->Search($s);
> print_r($return);
> ?>
>
> <?php // 2. NuSoap
> $client = new
> soapclient("http://soap.search.msn.com/webservices.asmx?
> wsdl", false);
> $result = $client->call("Search", $s);
> print_r($result);
> ?>
>
> Despite passing the same arguments, the 1st returns 10 results while
> the 2nd returns 50 results as it should. I ran a TCP packet sniffer
> and noticed the PHP Soap extension isn't sending my request for 50
> results. Actually the requests are quite different. Here is
> what is
> being sent:
>
> PHP SOAP EXTENSION:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="0ÙR
> jîšÑCVL�‘Šhttp://schemas.xmlsoap.org/soap/
> envelope/"
> xmlns:ns1="http://schemas.microsoft.com/MSNSearch/2005/09/
> fex"><SOAP-
> ENV:Body><ns1:Search><ns1:Request><ns1:AppID>MSN_SEARCH_API_KEY</
> ns1:AppID><ns1:Query>Seinfeld</ns1:Query><ns1:CultureInfo>en-US</
> ns1:CultureInfo><ns1:SafeSearch>Strict</ns1:SafeSearch><ns1:Flags/
>
> ><ns1:Location/><ns1:Requests><ns1:SourceRequest/><ns1:SourceRequest/
> ><ns1:SourceRequest/><ns1:SourceRequest/></ns1:Requests></
> ns1:Request></ns1:Search></SOAP-ENV:Body></SOAP-ENV:Envelope>
>
> NUSOAP:
>
> <?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope
> SOAP-
>
> ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>
>
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://
> www.w3.org/2001/XMLSchema-instance"
> xmlns:SOAP-ENC="http://
> schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns6589:Search
>
> xmlns:ns6589="http://tempuri.org"><Request><AppID
>
> xsi:type="xsd:string">MSN_SEARCH_API_KEY</AppID><Query
> xsi:type="xsd:string">Seinfeld</Query><CultureInfo
> xsi:type="xsd:string">en-US</CultureInfo><SafeSearch
> xsi:type="xsd:string">Strict</SafeSearch><Flags
> xsi:type="xsd:string"></Flags><Location
> xsi:type="xsd:string"></
> Location><Requests><SourceRequest><Source
> Location>xsi:type="xsd:string">Web</
> Source><Offset xsi:type="xsd:int">0</Offset><Count
> xsi:type="xsd:int">50</Count><ResultFields
> xsi:type="xsd:string">All</
>
> ResultFields>ResultFields></SourceRequest></Requests></Request></ns6589:Search></
> SOAP-ENV:Body></SOAP-ENV:Envelope>
>
> Any idea why these would be so different and why the PHP Soap
> extension doesn't seem to be working? (I wonder if this is related
> to Moritz Augustin's question about deeply nested arguments not
> working.)
>
> Thanks,
>
> Richard Miller
>
> --
> PHP Soap Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>