Hello everybody, I'm trying to do a webservice with php5 SOAP, after done the class, generated the wsdl file and coded the client, when I try to run it on a browser the function I call always returns NULL, why that? I tryed first to do a simple addition, but as this isn't working, I tryed just to return one of the parameters of the function but it isn't working either, what should I do? I'm using a generator to obtain the wsdl file This is my code: class with generator (example.php) <?php /** * this is a class */ class Foo { /** The add function * @param int $x * @param int $y * @return int */ function Add($x,$y) { if($x == null) return 0; elseif($y == null) return 1; else return 2; } } include '../WSDL_Gen.php'; $wsdl = new WSDL_Gen('Foo', 'http://172.16.0.147:81/~jgonzal/WebserviceTest/wsdlTools/WSDL/Foo/Foo.php', 'http://172.16.0.147:81/~jgonzal/WebserviceTest/wsdlTools/WSDL/Foo/'); print $wsdl->toXML(); ?> PHP: The Foo class is like this, as you will see it is equals as the class into de wsdl generator file (Foo.php) <?php /** * this is a class */ class Foo { /** The add function * @param int $x * @param int $y * @return int */ function Add($x,$y) { if($x == null) return 0; elseif($y == null) return 1; else return 2; } } ?> PHP: This is the autogenerated wsdl file (wsdlFoo.wsdl): <?xml version="1.0" ?> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://172.16.0.147:81/~jgonzal/WebserviceTest/wsdlTools/WSDL/Foo/" xmlns:soap-env="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://172.16.0.147:81/~jgonzal/WebserviceTest/wsdlTools/WSDL/Foo/"> <types> <xsd:schema> <xsd:complexType name="array"> <xsd:complexContent> <xsd:restriction base="soapenc:array"> <xsd:attribute ref="soapenc:arrayType" arrayType="tns:mixed[]" /> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <complexType name="mixed"> <all> <element name="varString" type="xsd:string" /> <element name="varInt" type="xsd:int" /> <element name="varFloat" type="xsd:float" /> <element name="varArray" type="tns:array" /> </all> </complexType> </xsd:schema> </types> <message name="AddInput"> <part name="x" type="xsd:int" /> <part name="y" type="xsd:int" /> </message> <message name="AddOutput"> <part name="return" type="xsd:int" /> </message> <portType name="FooPortType"> <operation name="Add"> <input message="tns:AddInput" /> <output message="tns:AddOutput" /> </operation> </portType> <binding name="FooBinding" type="tns:FooPortType"> <soap-env:binding xmlns="http://schemas.xmlsoap.org/wsdl/soap/" style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <operation xmlns:default="http://schemas.xmlsoap.org/wsdl/soap/" name="Add"> <input xmlns:default="http://schemas.xmlsoap.org/wsdl/soap/"> <soap-env:body xmlns="http://schemas.xmlsoap.org/wsdl/soap/" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </input> <output xmlns:default="http://schemas.xmlsoap.org/wsdl/soap/"> <soap-env:body xmlns="http://schemas.xmlsoap.org/wsdl/soap/" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </output> </operation> </binding> <service name="FooService"> <port xmlns:default="http://schemas.xmlsoap.org/wsdl/soap/" name="FooPort" binding="tns:FooBinding"> <soap-env:address xmlns="http://schemas.xmlsoap.org/wsdl/soap/" location="http://172.16.0.147:81/~jgonzal/WebserviceTest/wsdlTools/WSDL/Foo/Foo.php" /> </port> </service> </definitions> HTML: This is my client code (clienteFoo.php) <?php $soap = new SoapClient('wsdlFoo.wsdl'); try { var_dump($soap->__getFunctions()); $result = $soap->Add(47, 11); //if( $result != null || $result != '') echo "Variable1:"; var_dump($result); echo "Variable2:"; echo "<h1>47 + 11 = $result.</h1>"; //else // echo "No se hizo la adicion"; } catch (SoapFault $e) { echo "Error: {$e->faultstring}"; } ?> PHP: Output in browser: array(1) { [0]=> string(23) "int Add(int $x, int $y)" } Variable1:NULL Variable2: 47 + 11 = .