<?php
/**
* Sample to show how to use WsdlToPhpGenerator class
* @package WsdlToPhpGenerator
* @date 01/07/2012
*/
ini_set('display_errors',true);
error_reporting(-1);
ini_set('memory_limit',-1);
/**
* In case function lcfirst doesn't exist
*/
if(!function_exists('lcfirst'))
{
function lcfirst($_s)
{
return strtolower(substr($_s,0,1)) . substr($_s,1);
}
}
/**
* Librairies
*/
$localDir = dirname(__FILE__) . '/';
require_once $localDir . 'WsdlToPhpModel.php';
require_once $localDir . 'WsdlToPhpStruct.php';
require_once $localDir . 'WsdlToPhpService.php';
require_once $localDir . 'WsdlToPhpFunction.php';
require_once $localDir . 'WsdlToPhpGenerator.php';
require_once $localDir . 'WsdlToPhpStructValue.php';
require_once $localDir . 'WsdlToPhpStructAttribute.php';
/**
* Cleaning tests
*/
if(false)
{
echo "\r\n Clean Name for '2And'is-go54 83od+*/you=yèçés_3' is " . WsdlToPhpModel::cleanString("2And'is-go54 83od+*/you=yéçès_3") . " \r\n";
return;
}
/**
* OVH SOAP API
* Lots of structs and operations
*/
if(false)
{
$w = new WsdlToPhpGenerator('http://www.ovh.com/soapi/soapi-dlw-1.54.wsdl');
WsdlToPhpGenerator::setOptionGenerateAutoloadFile(true);
WsdlToPhpGenerator::setOptionGenerateWsdlClassFile(true);
WsdlToPhpGenerator::setOptionResponseAsWsdlObject(true);
WsdlToPhpGenerator::setOptionGenerateTutorialFile(true);
WsdlToPhpGenerator::setOptionCategory(WsdlToPhpGenerator::OPT_CAT_START_NAME);
WsdlToPhpGenerator::setOptionSubCategory(WsdlToPhpGenerator::OPT_SUB_CAT_END_NAME);
$w->generateClasses('ovh',dirname(__FILE__) . '/samples/ovh/');
}
/**
* BING Web Search API
*/
if(false)
{
$w = new WsdlToPhpGenerator('http://api.bing.net/search.wsdl');
WsdlToPhpGenerator::setOptionGenerateAutoloadFile(true);
WsdlToPhpGenerator::setOptionGenerateWsdlClassFile(true);
WsdlToPhpGenerator::setOptionSendParametersAsArray(true);
WsdlToPhpGenerator::setOptionGenerateTutorialFile(true);
WsdlToPhpGenerator::setOptionCategory(WsdlToPhpGenerator::OPT_CAT_START_NAME);
WsdlToPhpGenerator::setOptionSubCategory(WsdlToPhpGenerator::OPT_SUB_CAT_END_NAME);
$w->generateClasses('bing',dirname(__FILE__) . '/samples/bing/');
}
/**
* AT Internet
*/
if(false)
{
exec('rm -rf ' . __DIR__ . '/samples/at/*;');
$w = new WsdlToPhpGenerator('http://api.atinternet-solutions.com/toolbox/reporting.asmx?WSDL');
WsdlToPhpGenerator::setOptionGenerateAutoloadFile(true);
WsdlToPhpGenerator::setOptionGenerateWsdlClassFile(true);
WsdlToPhpGenerator::setOptionSendArrayAsParameter(true);
WsdlToPhpGenerator::setOptionGenerateTutorialFile(true);
WsdlToPhpGenerator::setOptionCategory(WsdlToPhpGenerator::OPT_CAT_START_NAME);
WsdlToPhpGenerator::setOptionSubCategory(WsdlToPhpGenerator::OPT_SUB_CAT_END_NAME);
$w->generateClasses('at',dirname(__FILE__) . '/samples/at/');
}
/**
* Via michelin
*/
if(false)
{
$wsdls = array(
'Geocoding'=>'http://webservices.viamichelin.com/ws2/services/Geocoding?wsdl',
'ReverseGeocoding'=>'http://webservices.viamichelin.com/ws2/services/ReverseGeocoding?wsdl',
'RouteCalculation'=>'http://webservices.viamichelin.com/ws2/services/RouteCalculation?wsdl',
'FindPOI'=>'http://webservices.viamichelin.com/ws2/services/FindPOI?wsdl',
'DistanceCalculation'=>'http://webservices.viamichelin.com/ws2/services/DistanceCalculation?wsdl',
'MapManagement'=>'http://webservices.viamichelin.com/ws2/services/MapManagement?wsdl',
'AccessManagement'=>'https://webservices.viamichelin.com/ws2/services/AccessManagement?wsdl');
foreach($wsdls as $name=>$wsdl)
{
$name = 'ViaMichelin' . $name;
exec('rm -rf ' . __DIR__ . '/samples/' . $name . '/*;');
$w = new WsdlToPhpGenerator($wsdl);
WsdlToPhpGenerator::setOptionGenerateAutoloadFile(true);
WsdlToPhpGenerator::setOptionGenerateWsdlClassFile(true);
WsdlToPhpGenerator::setOptionResponseAsWsdlObject(true);
WsdlToPhpGenerator::setOptionGenerateTutorialFile(true);
WsdlToPhpGenerator::setOptionSendArrayAsParameter(false);
WsdlToPhpGenerator::setOptionSendParametersAsArray(false);
WsdlToPhpGenerator::setOptionCategory(WsdlToPhpGenerator::OPT_CAT_START_NAME);
WsdlToPhpGenerator::setOptionSubCategory(WsdlToPhpGenerator::OPT_SUB_CAT_END_NAME);
$w->generateClasses($name,dirname(__FILE__) . '/samples/' . $name . '/');
}
}
/**
* Any
*/
if(true)
{
$name = 'PayPal';
$wsdl = 'https://www.paypalobjects.com/wsdl/PayPalSvc.wsdl';
exec('rm -rf ' . __DIR__ . '/samples/' . $name . '/*;');
echo "\r\nStart at " . date('H:i:s');
$w = new WsdlToPhpGenerator($wsdl);
WsdlToPhpGenerator::setOptionGenerateAutoloadFile(true);
WsdlToPhpGenerator::setOptionGenerateWsdlClassFile(true);
WsdlToPhpGenerator::setOptionGenerateTutorialFile(true);
WsdlToPhpGenerator::setOptionCategory(WsdlToPhpGenerator::OPT_CAT_TYPE);
WsdlToPhpGenerator::setOptionSubCategory(WsdlToPhpGenerator::OPT_SUB_CAT_END_NAME);
WsdlToPhpGenerator::setOptionAddComments(array(
'date'=>date('Y-m-d'),
'author'=>'Mikaël DELSOL',
'version'=>1));
echo "\r\nStart generation at " . date('H:i:s');
$w->generateClasses($name,dirname(__FILE__) . '/samples/' . $name . '/');
echo "\r\nEnd generation at " . date('H:i:s');
echo "\r\nGenerate doc start " . date('H:i:s');
$ouputs = array();
exec('rm -rf ' . __DIR__ . '/docs/' . $name . '/* && clear && phpdoc --sourcecode on -d ' . __DIR__ . '/samples/' . $name . ' -t ' . __DIR__ . '/docs/' . $name . ' -pp -ti "' . ucfirst($name) . ' package documentation" -o HTML:frames:DOM/earthli;',$ouputs);
print_r($ouputs);
echo "\r\nGenerate doc end " . date('H:i:s');
print_r($w->getAudit());
}
|