Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony FE 16-25mm F2.8 G: meno zoom, più luce
Sony FE 16-25mm F2.8 G: meno zoom, più luce
Il nuovo Sony FE 16-25mm F2.8G si aggiunge all'analogo 24-50mm per offrire una coppia di zoom compatti ma di apertura F2.8 costante, ideali per corpi macchina altrettanto compatti (vedi A7c ) e fotografia di viaggio.
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione
Motorola è decisa sulla sua strada: questo nuovo edge 50 Pro non guarda a specifiche stellari ma considera di più l’aspetto estetico. E si propone elegantemente con linee sinuose e un sistema operativo veloce. Peccato per un prezzo un po' fuori mercato.
Ecovacs Goat G1-800, mettiamo alla prova il robot tagliaerba facile ed efficace
Ecovacs Goat G1-800, mettiamo alla prova il robot tagliaerba facile ed efficace
Ecovacs allarga la sua famiglia di robot tagliaerba, ed abbiamo testato per diverse settimane il nuovo Goat G1-800. Installazione velocissima, app precisa, e lavoro infallibile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-05-2018, 12:44   #1
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
[PHP/XML] Webservices SOAP, struttura file wsdl

Salve,
stò affrontando per la prima volta i web services SOAP in PHP, stò cercando di capire le basi e la struttura del file ".wsdl", ho trovato cosi tanti esempi e testi che non so a quale affidarmi, per ogni esempio la struttura cambia, i tag cambiano, insomma è tutto diverso...

Vi chiedo una mano per scegliere una guida dove imparare correttamente come realizzare un web services in PHP e SOAP, escludendo "nusoap e soap rest".

Se ci sono più modi di procedere vorrei imparare quello migliore a livello di sicurezza.

Grazie molte.
race2 è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2018, 16:14   #2
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
Cosa c'è di sbagliato in questo wsdl ?? Funziona ma non credo assolutamente che sia scritto come si deve.

Codice:
<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions 
	name="Library"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	targetNamespace="Library"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:tns="Library"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

    <xsd:documentation></xsd:documentation>

    <wsdl:types>
        <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="Library">
            <xsd:complexType name="my_value">
                <xsd:sequence>
                    <xsd:element name="my_var" type="xsd:string"></xsd:element>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:schema>
    </wsdl:types>

    <wsdl:message name="MyFunctionRequest">
        <wsdl:part name="_request_" type="xsd:book"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="MyFunctionResponse">
        <wsdl:part name="_response_" type="tns:string"></wsdl:part>
    </wsdl:message>

    <wsdl:portType name="Library">
        <wsdl:operation name="MyFunction_1">
            <wsdl:input message="tns:MyFunctionRequest"/>
            <wsdl:output message="tns:MyFunctionResponse"/>
        </wsdl:operation>
		<wsdl:operation name="MyFunction_2">
            <wsdl:input message="tns:MyFunctionRequest"/>
            <wsdl:output message="tns:MyFunctionResponse"/>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="Library" type="tns:Library">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="MyFunction_1">
            <soap:operation soapAction="http://127.0.0.1/ws_soap/server.php"/>
            <wsdl:input>
                <soap:body use="literal" namespace="Library"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" namespace="Library"/>
            </wsdl:output>
        </wsdl:operation>
		<wsdl:operation name="MyFunction_2">
            <soap:operation soapAction="http://127.0.0.1/ws_soap/server.php"/>
            <wsdl:input>
                <soap:body use="literal" namespace="Library"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" namespace="Library"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="Library">
        <wsdl:port binding="tns:Library" name="BookLibrary">
            <soap:address location="http://127.0.0.1/ws_soap/server.php"/>
        </wsdl:port>
    </wsdl:service>

</wsdl:definitions>
Questo è il server:

Codice:
ini_set('soap.wsdl_cache_enabled', 0);

class MyClass
{
	public function MyFunction_1($my_value_1)
	{
		return $my_value_1;
	}
	
	public function MyFunction_2($my_value_2)
	{
		return $my_value_2;
	}
}

$Service = new MyClass();

$server = new SoapServer("ws.wsdl");
$server->setObject($Service);
$server->handle();
Questo è il client:

Codice:
ini_set('soap.wsdl_cache_enabled', 0);
ini_set('soap.wsdl_cache_ttl', 0);

$wsdl = 'http://127.0.0.1/ws_soap/server.php/method?WSDL';

$options = array(
				'uri'=>'http://schemas.xmlsoap.org/soap/envelope/',
				'style'=>SOAP_RPC,
				'use'=>SOAP_ENCODED,
				'soap_version'=>SOAP_1_1,
				'cache_wsdl'=>WSDL_CACHE_NONE,
				'connection_timeout'=>15,
				'trace'=>true,
				'encoding'=>'UTF-8',
				'exceptions'=>true,
				);

$objClient = new SoapClient($wsdl, $options);

try
{
	if(isset($objClient))
	{
		$resp1 = $objClient->MyFunction_1("Ciao ");
		$resp2 = $objClient->MyFunction_2(" sono Mario");
		
		echo $resp1.$resp2;
	}
}
catch(SoapFault $ex)
{
	echo var_dump($ex);
}
race2 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony FE 16-25mm F2.8 G: meno zoom, più luce Sony FE 16-25mm F2.8 G: meno zoom, più lu...
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione Motorola edge 50 Pro: design e display al top, m...
Ecovacs Goat G1-800, mettiamo alla prova il robot tagliaerba facile ed efficace Ecovacs Goat G1-800, mettiamo alla prova il robo...
ASUS ProArt 1, un PC completo ad altissime prestazioni per creator e non solo ASUS ProArt 1, un PC completo ad altissime prest...
OPPO Reno11 F 5G: vuole durare più di tutti! La recensione OPPO Reno11 F 5G: vuole durare più di tut...
iPhone 16 Pro, un nuovo rivestimento per...
I TV TCL con tecnologia Mini LED hanno o...
HUAWEI dice addio alla storica serie P. ...
Star Wars Outlaws: i giocatori incontrer...
Vulnerabilità grave su iMessage: ...
Arriva Insta360 X4 per realizzare veri v...
AMD presenta i Ryzen PRO 8000: sono megl...
Iliad: la prima offerta fibra in Italia ...
La California stabilisce un nuovo record...
Steam FPS Fest: un'altra settimana di sc...
CATL, ecco il primo sistema di accumulo ...
SteganoAmor, la campagna malware che nas...
NASA: il detrito spaziale caduto in Flor...
Maserati presenta la GranCabrio Folgore:...
Galaxy AI arriverà anche su Galax...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:24.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www3v