ok usando soap del php5 non posso creare un client automatico poiche' con le istruzioni
__GetTypes() e __getFunctions() non riesco a capire senza guardare direttamente il file wsdl quali sono i tipi di dati associati ad una determinata funzione....
non so se sono stato molto chiaro![]()
faccio un esempio pratico:
wsdl del palio di siena : http://www.ilpalio.siena.it/Palio.asmx?WSDL'
con __getFunctions() mi restituisce:
PaliiResponse Palii(Palii $parameters)
dettaglioPalioResponse dettaglioPalio(dettaglioPalio $parameters)
UltimoPalioVintoResponse UltimoPalioVinto(UltimoPalioVinto $parameters)
PaliiVintiResponse PaliiVinti(PaliiVinti $parameters)
PaliiResponse Palii(Palii $parameters)
dettaglioPalioResponse dettaglioPalio(dettaglioPalio $parameters)
UltimoPalioVintoResponse UltimoPalioVinto(UltimoPalioVinto $parameters)
PaliiVintiResponse PaliiVinti(PaliiVinti $parameters)
ArrayOfDettaglioPalio Palii(string $Anno)
DettaglioPalio dettaglioPalio(string $Giorno)
DettaglioPalio UltimoPalioVinto(string $Contrada)
ArrayOfDettaglioPalio PaliiVinti(string $Contrada)
ArrayOfDettaglioPalio Palii(string $Anno)
DettaglioPalio dettaglioPalio(string $Giorno)
DettaglioPalio UltimoPalioVinto(string $Contrada)
ArrayOfDettaglioPalio PaliiVinti(string $Contrada)
con __GetTypes() :
struct Palii { int Anno; }
struct PaliiResponse { ArrayOfDettaglioPalio PaliiResult; }
struct ArrayOfDettaglioPalio { DettaglioPalio DettaglioPalio; }
struct DettaglioPalio { string Contrada; string Cavallo; string Fantino; string Note; string Cronaca; string DeputatiDellaFesta; string GiudiciDellaVincita; string IspettoriDiPista; string MaestroDiCampo; string Sindaco; string AutoreDrappellone; string DedicaDrappellone; dateTime DataEstrazione; dateTime Data; boolean Ufficiale; boolean Straordinario; boolean OrdineAlCanapeIncerto; boolean Scosso; }
struct dettaglioPalio { dateTime Giorno; }
struct dettaglioPalioResponse { DettaglioPalio Carriera; }
struct UltimoPalioVinto { string Contrada; }
struct UltimoPalioVintoResponse { DettaglioPalio Carriera; }
struct PaliiVinti { string Contrada; }
struct PaliiVintiResponse { ArrayOfDettaglioPalio PaliiVintiResult; }
cominciamo dalle funzioni: non sono 16 ma solo 4 quelle da richiamare ma lui me le da tutte![]()
UltimoPalioVinto(string $Contrada)
Palii(string $Anno)
PaliiVinti(string $Contrada)
dettaglioPalio(string $Giorno)
poi come faccio in automatico a capire il tipo di risposta ad una determinata funzione???
insomma come faccio a creare un client automatico di questo tipo senza scriverlo a mano e guardare il file wsdl???
$client = new SoapClient("http://www.ilpalio.siena.it/Palio.asmx?WSDL", array('exceptions' => 0));
$a=2000;
$params = array('Anno'=>$a);
$result = $client->__soapCall('Palii', array($params));
foreach($result->PaliiResult->DettaglioPalio as
$risultato) {
print "Il ".$risultato->Data." ha vinto la contrada ".
$risultato->Contrada." con ".$risultato->
Fantino."
";
};
scusate per il post lungo![]()