siDDis Skrevet 6. desember 2006 Del Skrevet 6. desember 2006 Eg har ein client som spør etter ein verdi frå ein webservice <?php $client = new SoapClient("wsdl/wdata.wsdl"); echo $client->getData("name", "tigerolav"); ?> WSDL'en ser sånn ut: <?xml version ='1.0' encoding ='UTF-8' ?> <definitions name='WeatherData' targetNamespace='http://example.org/WeatherData' xmlns:tns=' [url="http://example.org/WeatherData'"]http://example.org/WeatherData'[/url] xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns='http://schemas.xmlsoap.org/wsdl/'> <message name='getDataRequest'> <part name='symbol' type='xsd:string'/> <part name='olav' type='xsd:string'/> </message> <message name='getDataResponse'> <part name='Result' type='xsd:string'/> </message> <message name="NoValueFoundOut"> <part name="failure" type='xsd:string'/> </message> <portType name='WeatherDataPortType'> <operation name='getData'> <input message='tns:getDataRequest'/> <output message='tns:getDataResponse'/> <fault name="getDataFailure" message="tns:NoValueFoundOut"/> </operation> </portType> <binding name='WeatherDataBinding' type='tns:WeatherDataPortType'> <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/> <operation name='getData'> <soap:operation soapAction='urn:xmethods-delayed-quotes#getData'/> <input> <soap:body use='encoded' namespace='urn:xmethods-delayed-quotes' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </input> <output> <soap:body use='encoded' namespace='urn:xmethods-delayed-quotes' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> </binding> <service name='WeatherDataService'> <port name='WeatherDataPort' binding='WeatherDataBinding'> <soap:address location='http://localhost/web_weather/server.php'/> </port> </service> </definitions> Og serveren sånn ut: <?php function getData($symbol, $olav) { $quotes = array( "name" => $olav); return $quotes[$symbol]; } // disabling WSDL cache ini_set("soap.wsdl_cache_enabled", "0"); $server = new SoapServer("wsdl/wdata.wsdl"); $server-> addFunction("getData"); $server-> handle(); ?> Men den einaste parameteren som visstnok når fram til serveren er $symbol? Kva er det som galt? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå