2012-07-04 47 views
0

我在使用php5在soap請求中設置元素值時遇到問題。
我使用php的本地SoapClient。在php肥皂代理類中設置元素值

我已經將web服務的請求對象映射到帶有classmaps的代理類。
請求對象應tranfered到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的值?

回答

0

如果別人知道這件事,我已經找到了答案現在:

變量名代表的元素值需要被命名爲$ _。

下面的代碼將工作:

class someRequest { 

    public $attributename; 
    public $_; 

} 

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

的請求,那麼將是這樣的:

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