PHP Web服务客户端:传递NULL参数

时间:2011-02-10 17:31:42

标签: php web-services

我正在尝试通过简单的Web服务客户端将字符串传递给我的“start”方法。即使我设置了“start”的值,“start”正在寻找,它仍然只继续传递NULL值。

这是返回的输出:

object(stdClass)#3 (1) { ["processId"]=> string(6) "701019" } 
string(304) "701019" 

string(258) " " //THIS IS WHERE I SHOULD SEE 'GenesisID'

代码如下。任何帮助是极大的赞赏。谢谢!

<?php
set_time_limit(0);
require_once('nusoap.php');

$client = new SoapClient('C:\wsdl\BenefitDeterminationProcess_BenefitDialogueServiceSOAP.wsdl', array('trace' => 1));


$param = array("prefix"=>'GenesisID:');

$result = $client->__soapCall('start',
        array(new SoapParam('prefix', 'GenesisID')),
        array('soapaction' => 'C:\wsdl\BenefitDeterminationProcess_BenefitDialogueServiceSOAP\start'));

$respXML = $client->__getLastResponse();
$requXML = $client->__getLastRequest();

var_dump($result);
echo "<p>";
var_dump($respXML);
echo "<p>";
var_dump($requXML);
?>

1 个答案:

答案 0 :(得分:0)

如果“GenesisID”应该是你的值,那么你以错误的方式使用了SoapParam构造函数。

从PHP手册:

SoapParam::__construct ( mixed $data , string $name )

所以构造函数调用应该是:

new SoapParam('GenesisID', 'prefix')