Visualizzazione dei risultati da 1 a 3 su 3

Discussione: problema con SOAP

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    72

    problema con SOAP

    Non riesco a mandare in php una richiesta al web server (che 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 in drual 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('http://localhost:8080/Data/services/MiaData');

    $O = $client -> __soapCall('ritornaData');

    echo $O->date ;

    } catch (SoapFault $fault) {
    echo $fault;}
    ?>

    che dovrebbe restiture la data odierna.

    Forse sbaglio l'istruzione soapclient??

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    72
    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?!??!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    72
    Vi prego...ci sono quasi....aiutatemi!!!
    Modificando il codice in questa maniera:

    <?php
    try{
    $client = new SoapClient('http://localhost:8080/Data/services/MiaData?wsdl');

    $O = $client -> __soapCall('ritornaData', array());

    print_r($O);

    } catch (SoapFault $fault) {echo $fault;}

    ?>

    e, dal momento che ho modificato la funzione ritornaData in modo che ritorni un intero a=5, ho come uscita a video questa scritta:

    stdClass Object ( [ritornaDataReturn] => 5 )

    Io voglio che esca solo 5!!!
    Illuminatemi...mi sfugge qualcosa....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.