在php soap代理类中设置元素值

时间:2012-07-04 12:19:16

标签: php soap soap-client

我在使用php5在soap请求中设置元素值时遇到问题 我正在使用php的原生SoapClient。

我已将请求对象从Web服务映射到带有类映射的代理类 请求对象应该像这样传送到Web服务:

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

我的代理类看起来像这样:

class someRequest {

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

}

我初始化类并设置如下变量:

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

当我通过我的请求呼叫网络服务时:

$client->someOperation($someReq);

我的请求将如下所示:

<soapElement attributename="attribValue"/>

如您所见,soapElement值为空 如何使用我的代理类设置soapElement的值?

1 个答案:

答案 0 :(得分:0)

如果有人想知道这件事,我现在找到了答案:

表示元素值的变量名称需要命名为$ _。

以下代码可以使用:

class someRequest {

    public $attributename;
    public $_; 

}

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

请求将如下所示:

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