Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    10

    [SOAP Php] Semplice esempio che non funziona (webservice in java)

    Salve a tutti!
    E' la prima volta che scrivo un'applicazione con Soap (SoapClient di PHP 5) e sto incontrando non pochi problemi per far funzionare il mio semplicissimo webservice in java.
    Spero che voi possiate aiutarmi in qualche modo.. cerco di essere il più esaustivo possibile:

    Il mio webservice è descritto così dal wdsl:
    codice:
    [..cut..]
    
    <xs:element name="hello">
    	<xs:complexType>
     		<xs:sequence>
      			<xs:element minOccurs="0" name="name" nillable="true" type="xs:string" /> 
      		</xs:sequence>
      	</xs:complexType>
    </xs:element>
    <xs:element name="helloResponse">
     	<xs:complexType>
    		<xs:sequence>
    			<xs:element minOccurs="0" name="return" nillable="true" type="xs:string" /> 
    		</xs:sequence>
    	</xs:complexType>
    </xs:element>
    
    [..cut..]
    
    <wsdl:message name="helloRequest">
    	<wsdl:part name="parameters" element="ns:hello" /> 
    </wsdl:message>
    <wsdl:message name="helloResponse">
    	<wsdl:part name="parameters" element="ns:helloResponse" /> 
    </wsdl:message>
    
    [..cut..]
    Il mio programmino php che ho fatto è in questo modo:

    Codice PHP:
    <?php
    $verifica_file 
    file_exists("conf.ini");
    if (
    $verifica_file==false) print "ERRORE! File di configurazione non trovato!";
     else {
            
    $file_conf file('conf.ini');
            
    $wdsl $file_conf[1];
        }

    $client = new SoapClient($wdsl, array('exceptions' => 0));

    $result $client->hello("FoxLuke");
    if (
    is_soap_fault($result)) {
        
    trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})"E_USER_ERROR);
    }
    print_r ($result);
    ?>

    Ok benissimo.. vado sulla pagina php e quello che mi compare scritto sulla pagina è questo:

    stdClass Object ( [return] => Ciao null!! Benvenuto nel WebService )

    io voglio riuscire invece a far scrivere semplicemente questo:

    Ciao FoxLuke!! Benvenuto nel WebService

    Cosa sto sbagliando? Premetto che con php programmo molto poco e non lo conosco bene
    Fondamentalmente gli errori sono due:
    - Non riceve il parametro "FoxLuke" e quindi legge "Null"
    - La stringa che stampo a video non è formattata come voglio io ma ha delle informazioni in più che non capisco.

    Spero che possiate aiutarmi velocemente perchè dovrei riuscire il prima possibile a capire come fare il client (su un mio webservice più complesso) e penso che dovrò cercare di capire come passare tramite soap degli array di stringhe o file molto più complessi ma senza capire come passare un semplice parametro con un nome non posso andare da nessuna parte!
    Grazie in anticipo a tutti!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    10
    nuovo tentativo:

    Seguendo le indicazioni della documentazione ufficiale di PHP ho modificato la riga
    codice:
    $result = $client->hello("FoxLuke");
    in questa:
    codice:
    $result = $client->__soapCall('hello', 'FoxLuke');
    sperando che la cosa migliori ma il primo errore è stato questo:

    Warning: SoapClient::__soapCall() expects parameter 2 to be array, string given in C:\xampplite\htdocs\progetto\Date_page.php on line 24


    allora ho modificato il webservice in java in questo modo solo per vedere se almeno la cosa funzionava:

    codice:
    public int somma(int a,int b) {    return a+b;   }
    e usando queste linee di codice php:

    codice:
    $int1=10;
    $int2=15;
    $result = $client->__soapCall('somma', array($int1, $int2));
    Il messaggio di errore che mi arriva è il seguente:

    Fatal error: Uncaught SoapFault exception: [soapenv:Server] unknown in C:\xampplite\htdocs\progetto\Date_page.php:24 Stack trace: #0 C:\xampplite\htdocs\progetto\Date_page.php(24): SoapClient->__soapCall('somma', Array) #1 {main} thrown in C:\xampplite\htdocs\progetto\Date_page.php on line 24


    boooohhh.... aiutatemi vi prego! qualcuno ne capisce qualcosa?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    10
    scusate.. non è che qualcuno sa come aiutarmi?
    attualmente ancora non sono riuscito a capire il problema

    sicuramente perchè non conosco bene il funzionamento della libreria ma per quanto ho provato a studiarla non ho capito dove è l'errore

    cmq so per certo che il webservice funziona bene qiundi il problema dovrebbe essere proprio di php

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.