Ciao a tutti,
ho googlato parecchio ma non sono riuscito a trovare un esempio chiaro per recuperare i dati lato soapserver da un header di un webservice. Qualcuno ha un link, suggerimento, esempio...
Grazie mille
Ciao a tutti,
ho googlato parecchio ma non sono riuscito a trovare un esempio chiaro per recuperare i dati lato soapserver da un header di un webservice. Qualcuno ha un link, suggerimento, esempio...
Grazie mille
Direi che potresti partire da qui
www.php.net/soap
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
Quoto.
Ma perche' non controllate mai la documentazione ufficiale ????
se apri il link che daniele ha postato troverai un metodo della classe soap :
__getLastRequestHeaders ....
![]()
Veramente ho già letto la documentazione ufficiale...ma io volevo un esempio chiaro e non credo che quelli che sono sulla documntazione di SOAP si possano definire "chiari", o no??Originariamente inviato da Virus_101
Quoto.
Ma perche' non controllate mai la documentazione ufficiale ????
se apri il link che daniele ha postato troverai un metodo della classe soap :
__getLastRequestHeaders ....
![]()
Cmq grazie
.....
Non capisco ....
......
.. . . ......
Se hai letto la doc ufficiale secondo me e' ben chiaro come funziona tutto.
Anche io sono uscito un po' di cranio con soap mi mi dovevo interfacciare a costa / msc crociere insomma non avevo il server davanti e mi dovevo basare sulla scarsa doc che mi avevano dato.
.....
Ma a te basta stampare il risultato della chiamata di un metodo per vedere subito se va o no ::
L'esempio che trovi su php .net se cliccki la documentazione del metodo __getLastRequestHeaders e' :
va soloamnete provata....Codice PHP:
<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST HEADERS:\n" . $client->__getLastRequestHeaders() . "\n";
?>
![]()
![]()
Forse non mi sono spiegato bene...
il problema non è sul client, ho necessità di lavorare su un web service che devo creare io. Il problema è che voglio fare l'autenticazione utilizzando l'header del messaggio SOAP ma non ho ben capito come riuscire a recuperare i parametri che vengono passati. Faccio un esempio sul messaggio che mi arriva:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:xmethods-delayed-quotes" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="test.wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header>
<ns2:AuthHeader>
<user>logprova</user>
<pwd>pwdprova</pwd>
</ns2:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
come recupero lato server il contenuto del tag <user> e <pwd>?
Grazie ancora
Capito ....
Dai un occhio a questa guida : http://server.html.it/guide/lezione/...ia-php-nusoap/
la libreria nusoap funziona veramente male, conviene usare la libreria soap di php anche per il server
http://www.php.net/manual/en/class.soapserver.php
se non erro la classe può essere estesa per gestire più aspetti e quindi potresti aggirare cosi il problema
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
Ah si scusa non sapevo.
Io di solito uso php ma ad ora ho lavorato prettamente con i client soap.
Sarebbe da cambiare la guida allora ....![]()
l'avevo capito... ma infatti cercavo un esempio...Originariamente inviato da daniele_dll
la libreria nusoap funziona veramente male, conviene usare la libreria soap di php anche per il server
http://www.php.net/manual/en/class.soapserver.php
se non erro la classe può essere estesa per gestire più aspetti e quindi potresti aggirare cosi il problema
Cmq, ripeto, grazie lo stesso