ZendService\StrikeIron: Advanced Uses¶
This section describes the more advanced uses of
Using Services by WSDL¶
Some StrikeIron services may have a PHP wrapper class available, such as those described in Bundled Services. However, StrikeIron offers hundreds of services and many of these may be usable even without creating a special wrapper class.
To try a StrikeIron service that does not have a wrapper class available, give the
wsdl option to
getService() instead of the
1 2 3 4 5 6 7 8 9 10 11 12
$strikeIron = new ZendService\StrikeIron\StrikeIron(array('username' => 'your-username', 'password' => 'your-password')); // Get a generic client to the Reverse Phone Lookup service $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
Using StrikeIron services from the WSDL will require at least some understanding of the WSDL files. StrikeIron has many resources on its site to help with this. Also, Jan Schneider from the Horde project has written a small PHP routine that will format a WSDL file into more readable HTML.
Please note that only the services described in the Bundled Services section are officially supported.
Viewing SOAP Transactions¶
All communication with StrikeIron is done using the SOAP extension. It is sometimes useful to view the XML exchanged with StrikeIron for debug purposes.
Every StrikeIron client (subclass of
ZendService\StrikeIron\Base) contains a
getSoapClient() method to
return the underlying instance of
SOAPClient used to communicate with StrikeIron.
PHP’SOAPClient has a
trace option that causes it to remember the XML exchanged during the last
ZendService\StrikeIron\StrikeIron does not enable the
trace option by default but this can easily by
changed by specifying the options that will be passed to the
To view a SOAP transaction, call the
getSoapClient() method to get the
SOAPClient instance and then call
the appropriate methods like __getLastRequest() and __getLastRequest():
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$strikeIron = new ZendService\StrikeIron\StrikeIron(array('username' => 'your-username', 'password' => 'your-password', 'options' => array('trace' => true))); // Get a client for the Sales & Use Tax Basic service $taxBasic = $strikeIron->getService(array('class' => 'SalesUseTaxBasic')); // Perform a method call $taxBasic->getTaxRateCanada(array('province' => 'ontario')); // Get SOAPClient instance and view XML $soapClient = $taxBasic->getSoapClient(); echo $soapClient->__getLastRequest(); echo $soapClient->__getLastResponse();