0

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

前もって感謝します。

4

1 に答える 1