Non riesco a mandare in php una richiesta al web server (ke al momento sta in locale).
Se faccio un client in jsp la richiesta funziona, quindi il web service funziona, ma se faccio la richiesta da un pagina in php di drupal mi da questo errore:
SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://localhost:8080/Data/services/MiaData' in C:\www\drupalintranet\includes\common.inc(1342) : eval()'d code:15 Stack trace: #0 C:\www\drupalintranet\includes\common.inc(1342) : eval()'d code(15): SoapClient->SoapClient('http://localhos...') #1 C:\www\drupalintranet\includes\common.inc(1342): eval() #2 C:\www\drupalintranet\modules\filter\filter.module(1006): drupal_eval('
il mio codice php è:
<?php
$client = new SoapClient('<a href="http://localhost:8080/Data/services/MiaData'" rel="nofollow">http://localhost:8080/Data/services/MiaData'</a>);
$O = $client -> __soapCall('ritornaData');
echo $O->date ;
} catch (SoapFault $fault) {
echo $fault;}
?>
che dovrebbe restiture la data odierna.
Forse sbaglio l'istruzione soapclient??
mm.. SOAP non è una RPC? Prova usando quel parser Drupal senza usare SoapClient, IMHO molto meglio... ma forse oggi sono troppo fuso e mi sto confondendo paurosamente (potrebbe essere benissimo :))
Ciao
Marco
--
My blog
Working at @agavee
Il mio errore era che /MiaData doveva essere /MiaData?wsdl .
Scoperto ciò ho avuto un ulteriore problema:
mi esce un warning che mi avvisa che l'istruzione
__soapCall('ritornaData');
deve avere 2 parametri di cui il secondo è un array. Allora poichè la mia funzione java è una funzione semplicissima che prende la data odierna, la trasforma in stringa e ritorna la stringa ottenuta, ho pensato di scrivere
__soapCall('ritornaData', array());
ora non ho più nessun warning...però non mi compare niente!!Mi esce una semplice pagina bianca!
Qualcuno ha un idea su come far apparire almeno una scritta?!??!