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!!