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 が空として表示されます。ここで何が間違っているのか誰にもわかりますか?
前もって感謝します。