gpt4 book ai didi

PHP SOAP 服务器根本不返回值

转载 作者:搜寻专家 更新时间:2023-10-31 20:48:37 24 4
gpt4 key购买 nike

这是一个紧迫的问题,经过几天的努力仍未解决。

http://www.tabernus.com/ws/soap/server.php?WSDL应该给你 WSDL 文件。

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

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

 <?php 
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 获取方法。

http://www.plumvoice.com/soaptester/

但是输入一个序列号,比如....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);

关于PHP SOAP 服务器根本不返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10519637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com