我正在使用yii构建一个soap web服务。我遇到了一个奇怪的问题。
我创建了参数,例如:
$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为空。谁能看到我在这里做错了什么?
提前致谢。
答案 0 :(得分:0)
正如我所说,答案如下。
我正在创建一个数组并将其发送到soap服务器
$new=array('x' => 1,
'y' => 2,
'z' => 3);
$response = $client->test($new);
我应该去哪里
$x = 1;
$y = 2;
$z = 3;
$response = $client->test($x,$y,$z);
感谢您的帮助。