Question

I have setup a SOAP Server with php.

The problem is that, as per the WSDL, the client which calls the server method, is supposed to pass a set of parameters (more than 50). I got to know this from SOAP UI.

But how do i handle all those parameters in my Server method? Should i go on and declare each and every parameter for my Server method, as below?

public function addMessage($a, $b, $c, $d, .................) {

}

But I hope there must be a simpler approach to this. Preferably, i would like to receive all parameters in my Server method, as an array or object.

UPDATE: I am using Zend_Soap_Server. Do i need to define any complex types, for handling input parameters? As i see, the WSDL defines few complex types.

Was it helpful?

Solution 2

Well, i could finally receive the parameters as objects in my method. These objects were already defined as complex types in the XSD files.

OTHER TIPS

Try to use http://www.php.net/manual/en/function.func-get-args.php

public function addMessage() {
    $args = func_get_args();

    foreach($args as $argument)
    {
         # processing 
         $this->do_process($argument);
    }
    var_dump($args);
}

Call

$this->addMessage('a', 'b', 'c', 'd', ....);

and function will return

array(1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd' ....);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top