我正在使用 yii 构建一个肥皂网络服务。我遇到了一个奇怪的问题。
我创建参数,例如:
$new=array('x' => 1,
'y' => 2,
'z' => 3);
然后我发送它,soap 服务器只接收数组中的第一个值。
肥皂服务器:
<?php
class testController extends CController
{
public function actions()
{
return array(
'new'=>array(
'class'=>'CWebServiceAction',
),
);
}
/**
* @param int $x
* @param int $y
* @param int $z
* @return returnParams
* @soap
**/
public function test($x,$y,$z)
{
Yii::log("$x : $y : $z", CLogger::LEVEL_ERROR);
$returnParam = new returnParams();
$returnParam->x = $x;
$returnParam->y = $y;
$returnParam->z = $z;
return $returnParam;
}
}
?>
returnParams 类如下
<?php
class returnParams{
/**
* @var int
* @soap
**/
public $x;
/**
* @var int
* @soap
**/
public $y;
/**
* @var int
* @soap
**/
public $z;
}
所以它非常基本,接收信息并立即发送回去。
这是回复
object(stdClass)#2 (9) {
["x"]=>
int(1)
["y"]=>
NULL
["z"]=>
NULL
日志显示 $y 和 $z 为空。谁能看到我在这里做错了什么?
提前致谢。