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