PHP SOAP服务器方法获得一组参数(PHP SOAP Server method receive

2019-10-19 03:48发布

我已经建立了SOAP服务器用PHP。

的问题是,当按照WSDL,它调用服务器方法的客户端,应该通过的一组参数(大于50)。 我从SOAP UI知道这一点。

但我怎么处理我的服务器方法中的所有这些参数? 我应该去和申报的每一个参数为我的服务器方法,如下?

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

}

但我希望,必须有这种更简单的方法。 优选地,我想接收的所有参数在我的服务器的方法,为阵列或对象。

更新 :我使用Zend_Soap_Server。 我是否需要定义任何复杂类型,用于处理输入参数? 依我之见,WSDL定义了一些复杂的类型。

Answer 1:

尝试使用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);
}

呼叫

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

和函数将返回

array(1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd' ....);


Answer 2:

好了,我终于可以接收参数,在我的方法的对象。 这些对象已经被定义为复杂类型的XSD文件。



文章来源: PHP SOAP Server method receive a set of parameters