Programmer's Reference Guide
| Zend_Service_StrikeIron: バンドルされているサービス |
Zend_Service_StrikeIron: 応用編
このセクションでは、Zend_Service_StrikeIron のより進んだ使用法を説明します。
WSDL によるサービスの使用
StrikeIron のサービスの中には PHP のラッパークラスが存在するものもあります。 これらについては バンドルされているサービス を参照ください。しかし、StrikeIron には何百ものサービスがあり、 中には便利なものも多くあります。 これらについても、ラッパークラスを作成せずに利用することができます。
ラッパークラスが存在しない StrikeIron サービスを使用するには、
getService() のオプションに
class ではなく wsdl を指定します。
<?php
require_once 'Zend/Service/StrikeIron.php';
$strikeIron = new Zend_Service_StrikeIron(array('username' => 'あなたのユーザ名',
'password' => 'あなたのパスワード'));
// Reverse Phone Lookup サービス用の汎用クライアントを取得します
$phone = $strikeIron->getService(array('wsdl' => 'http://ws.strikeiron.com/ReversePhoneLookup?WSDL'));
$result = $phone->lookup(array('Number' => '(408) 253-8800'));
echo $result->listingName;
// Zend Technologies USA Inc
StrikeIron サービスを WSDL から使用するには、 WSDL ファイルについての基礎知識が必要です。 StrikeIron のサイトには、そのためのリソースも豊富に用意されています。 また、 » Horde プロジェクト の » Jan Schneider が、 WSDL ファイルを読みやすく HTML 形式に変換するための » ちょっとした PHP のルーチン を公開しています。
公式にサポートしているのは、 バンドルされているサービス に挙げられているものだけであることに注意しましょう。
SOAP トランザクションの表示
StrikeIron との通信は、すべて SOAP 拡張モジュールを用いて行います。 StrikeIron との間でやり取りする XML の内容を確認できると、 デバッグ時に便利です。
すべての StrikeIron クライアント (Zend_Service_StrikeIron_Base
のサブクラス) には getSoapClient() メソッドが存在します。
これは、StrikeIron との通信に使用している
SOAPClient のインスタンスを返します。
PHP の
» SOAPClient
には trace オプションがあり、これを使用すると直前のトランザクションで交換された
XML を取得することができます。Zend_Service_StrikeIron は、デフォルトでは
trace を有効にしません。しかし、SOAPClient
に渡すオプションを指定することで、この挙動は簡単に変更できます。
SOAP のトランザクションを見るには、
getSoapClient() メソッドをコールして
SOAPClient のインスタンスを取得し、
» __getLastRequest()
や
» __getLastRequest()
のような適切なメソッドをコールします。
<?php
require_once 'Zend/Service/StrikeIron.php';
$strikeIron = new Zend_Service_StrikeIron(array('username' => 'あなたのユーザ名',
'password' => 'あなたのパスワード',
'options' => array('trace' => true)));
// Sales & Use Tax Basic サービス用のクライアントを取得します
$taxBasic = $strikeIron->getService(array('class' => 'SalesUseTaxBasic'));
// メソッドをコールします
$taxBasic->getTaxRateCanada(array('province' => 'ontario'));
// SOAPClient のインスタンスを取得し、XML を表示します
$soapClient = $taxBasic->getSoapClient();
echo $soapClient->__getLastRequest();
echo $soapClient->__getLastResponse();
| Zend_Service_StrikeIron: バンドルされているサービス |
Select a Version
Languages Available
Components
Search the Manual
Navigation
- プログラマ向けリファレンスガイド
- プログラマ向けリファレンスガイド
- Zend_Service
- 導入
- Zend_Service_Akismet
- Zend_Service_Amazon
- Zend_Service_Audioscrobbler
- Zend_Service_Delicious
- Zend_Service_Flickr
- Zend_Service_Nirvanix
- Zend_Service_Simpy
- 導入
- Zend_Service_StrikeIron
- Zend_Service_StrikeIron: バンドルされているサービス
- Zend_Service_StrikeIron: 応用編
- Zend_Service_Technorati
- Zend_Service_Yahoo
