php soap 返回值,PHP SOAP服务器根本不返回任何值

这是紧迫的问题,经过数天的努力仍未解决.

在server.php中,我想在调用“ GetAuditInformation”方法时返回递增的序列号.

所以我在顶部写了这个简单的函数:

function GetAuditInformation($serialNumber) {

$serialNumber=$serialNumber +1;

return $serialNumber;

}

ini_set("soap.wsdl_cache_enabled", "0");

$server = new SoapServer('wsMRMAudit.wsdl');

$server->addFunction("GetAuditInformation");

$server->handle();

?>

我使用plumvoice SOAPtester进行了测试,它能够通过WSDL获取方法.

但是输入一个序列号,说…. 1000,它应该返回1001,但它返回NULL.这是为什么?

解决方法:

传递到函数中的参数不是数字,而是一个对象.您的函数定义应为:

function GetAuditInformation($x)

{

return array('GetAuditInformationResult' => $x->SerialNumber + 1);

}

对于完整的示例,让我也发布测试脚本,该脚本可以顺便说一句:

$s = new SoapClient('http://www.tabernus.com/ws/soap/server.php?WSDL', array('trace'=>true));

var_dump($s->GetAuditInformation(array('SerialNumber' => 1000)));

$req = $s->__getLastRequest();

function GetAuditInformation($x)

{

return array('GetAuditInformationResult' => $x->SerialNumber + 1);

}

$server = new SoapServer('http://www.tabernus.com/ws/soap/server.php?WSDL', array(

'actor' => 'http://www.tabernus.com/ws/soap/',

'soap_version' => SOAP_1_2

));

$server->addFunction('GetAuditInformation');

$server->handle($req);

标签:wsdl,php,soap

来源: https://codeday.me/bug/20191201/2080160.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值