0

PHP5 で SOAP リクエストに要素の値を設定する際に問題があります。
私はphpのネイティブSoapClientを使用しています。

クラスマップを使用して、リクエスト オブジェクトを Web サービスからプロキシ クラスにマッピングしました。
request-object は、次のように Web サービスに転送する必要があります。

<soapElement attributename="attribValue">elemValue</soapElement>

私のプロキシクラスは次のようになります。

class someRequest {

    public $attributename;
    public $value; //wild guess

}

クラスを初期化し、変数を次のように設定します。

$someReq = new someRequest();
$someReq->attributename = 'attribValue';
$someReq->value = 'elemValue';

リクエストで Web サービスを呼び出すと、次のようになります。

$client->someOperation($someReq);

私のリクエストは次のようになります。

<soapElement attributename="attribValue"/>

ご覧のとおり、soapElement の値は空です。
プロキシ クラスを使用して soapElement の値を設定するにはどうすればよいですか?

4

1 に答える 1

0

他の誰かがこれについて疑問に思っている場合、私は今答えを見つけました:

要素値を表す変数名は、$_ という名前にする必要があります。

次のコードが機能します。

class someRequest {

    public $attributename;
    public $_; 

}

$someReq = new someRequest();
$someReq->attributename = 'attribValue';
$someReq->_ = 'elemValue';

リクエストは次のようになります。

<soapElement attributename="attribValue">elemValue</soapElement>
于 2012-07-12T07:10:05.563 に答える