我在使用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的值?
答案 0 :(得分:0)
如果有人想知道这件事,我现在找到了答案:
表示元素值的变量名称需要命名为$ _。
以下代码可以使用:
class someRequest {
public $attributename;
public $_;
}
和
$someReq = new someRequest();
$someReq->attributename = 'attribValue';
$someReq->_ = 'elemValue';
请求将如下所示:
<soapElement attributename="attribValue">elemValue</soapElement>