<?php $template = <<<EOT <?php class {$class_name} {
protected \$service;
/** * Constructs the service */ public function __construct () { \$wsdl = "{$WSDL}"; try { \$this->service = new SoapClient( \$wsdl ); } catch ( Exception \$e ) { return \$e->getMessage(); } }
/** * Provides managment of errors calling the service's methods */ public function __call ( \$name, \$arguments ) { \$result = false; \$max_retries = {$retries}; \$retry_count = 0;
while( !\$result && \$retry_count < \$max_retries ) { try { \$result = parent::__call( \$name, \$arguments ); } catch( SoapFault \$fault ) { if( \$fault->faultstring != 'Could not connect to host' ) { throw \$fault; } } sleep(1); \$retry_count++; } if ( \$retry_count == \$max_retries ) { throw new SoapFault( 'Could not connect to host after {$retries} attempts' ); } return \$result; }
{$methods}} ?>
EOT; ?>
|