Это будет
$client = $wsdl->getProxy();
// don't wrap it into another array.
// $params = array('USZip' => $zip);
$response = $client->GetInfoByZIP($zip);
var_dump( $response );
, но перед тем, как увидеть какие-либо результаты, мой экран заполняется сообщениями "PHP устарел:" и "Строгие стандарты PHP: нестатический метод ...". Я бы предпочел использовать
расширение мыла <?php
echo PHP_VERSION, ' ', PHP_OS, "\n";
$client = new SoapClient('<a href="http://www.webservicex.net/uszip.asmx?WSDL" rel="nofollow noreferrer">http://www.webservicex.net/uszip.asmx?WSDL</a>');
$response = $client->GetInfoByZIP(array('USZip'=>'10006'));
var_dump($response);
к сожалению, ответ определен как
<s:element minOccurs="0" maxOccurs="1" name="GetInfoByZIPResult">
<s:complexType mixed="true">
<s:sequence>
<s:any/>
</s:sequence>
</s:complexType>
</s:element>
, что примерно переводится как «ответ будет ... что-то», то есть вы должны проанализировать xml «вручную ».
<?php
echo PHP_VERSION, ' ', PHP_OS, "\n";
$client = new SoapClient('<a href="http://www.webservicex.net/uszip.asmx?WSDL" rel="nofollow noreferrer">http://www.webservicex.net/uszip.asmx?WSDL</a>');
$response = $client->GetInfoByZIP(array('USZip'=>'10006'));</p>
<p>$doc = new SimpleXMLElement($response->GetInfoByZIPResult->any);
echo 'City: ', $doc->Table->CITY[0];
печать
5.3.0RC4 WINNT
City: New York