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:
Il mio programmino php che ho fatto è in questo modo: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..]
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!!