RE: NuSoap works but PHP Soap extensions don't?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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:  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="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 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></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
> 
> 

-- 
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux