2008年2月6日

 コード名「Rome」という新しいLive Searchのリリースを計画しているようです。でもそんなの(略)。

 以前、PEARのSOAPパッケージを使ってLive Search APIを利用するコードを書きましたが、PHP5 SOAP関数を使うバージョンも書いてみました。SOAP関数の情報も少ないですね。

 $clientの__getTypesメソッドの戻り値を取得することで どのような型がWSDLから作られたかわかりますので、その型名を使い連想配列を作ります。省略可能な項目も一部指定してやらないと無いって怒られました。

<?php
$client = null;

try {
    $client = new SoapClient('http://soap.search.msn.com/webservices.asmx?wsdl');

    $sourceRequest = array(
    	'Source'       => 'Web',
    	'Offset'       => 0,
    	'Count'        => 1,
    	'ResultFields' => 'All');
    
    $searchRequest = array(
    	'AppID'       => 'Your Application ID',
    	'Query'       => 'Live Search API',
    	'CultureInfo' => 'ja-JP',
    	'SafeSearch'  => 'Moderate',
    	'Flags'       => 'None',
    	'Requests'    => array($sourceRequest));
    
    $searchResponse = $client->Search(array('Request' => $searchRequest));

    echo '<pre>' . htmlspecialchars(print_r($searchResponse, true)) . '</pre>';
    
} catch (SoapFault $soapEx) {
    echo $soapEx;

} catch (Exception $ex) {
    echo $ex->getMessage();
}
?>

posted @ 23:23 | Feedback (4)