Problem with methods with SOAP

Hi, i’m Luca from Italy… this is my first post :)

I’m trying to develop an application with soap.

I’ve copied the example in Yii documentation and it works, but if i change the “getPrice” function to “getPricex” or something else, i have an error “method not found”!

Here is my controller:


class Gc_soapController extends CController


    public function actions()


        return array(








     * @param integer

     * @return string

     * @soap


    public function getPricex($prezzo)


		return 'hello';



This is the function who calls the method (in another controller):

public function actionSapone() {


	$client=new SoapClient('');

	echo $client->getPricex(22);


and this is the XML generated in "":

<definitions name="Gc_soapController" targetNamespace="urn:Gc_soapControllerwsdl">


<wsdl:message name="getPricexRequest">

<wsdl:part name="prezzo" type="xsd:integer"/>



<wsdl:message name="getPricexResponse">

<wsdl:part name="return" type="xsd:string"/>



<wsdl:portType name="Gc_soapControllerPortType">


<wsdl:operation name="getPricex">


<wsdl:input message="tns:getPricexRequest"/>

<wsdl:output message="tns:getPricexResponse"/>




<wsdl:binding name="Gc_soapControllerBinding" type="tns:Gc_soapControllerPortType">

<soap:binding style="rpc" transport=""/>


<wsdl:operation name="getPricex">

<soap:operation soapAction="urn:Gc_soapControllerwsdl#getPricex" style="rpc"/>



<soap:body use="encoded" namespace="urn:Gc_soapControllerwsdl" encodingStyle=""/>




<soap:body use="encoded" namespace="urn:Gc_soapControllerwsdl" encodingStyle=""/>





<wsdl:service name="Gc_soapControllerService">


<wsdl:port name="Gc_soapControllerPort" binding="tns:Gc_soapControllerBinding">

<soap:address location=""/>




If i change method name from getPricex to getPrice ALL WORKS perfectly.

Hope someone reply :(



noone knows the solution? sorry for the spam

already tried to clean the tmp? php file it generates the wsdl-la

yes already clean…

Maybe a problem with WSDL caching in PHP? You can disable it by setting soap.wsdl_cache_ttl to 0 with ini_set().

you are right!

Thank u mike!