我正在编写我的第一个php webservice(服务器端),但客户端调用没有收到任何数据 我正在使用Web上的SoapClient检查服务(http://soapclient.com/SoapClient),回顾一下AggiornaCampionati函数,这是回复:
<?xml version="1.0" encoding="UTF-8" ?>
- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.aicsparma.it/websrvs">
- <SOAP-ENV:Body>
<ns1:AggCampiosResponse />
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
为空(返回消息正常(AggCampiosResponse))!
服务器代码非常简单:
<?php
function AggiornaCampionati($args) {
//return gettype($args)." - ".print_r($args);
return("Pippo");
}
function AggiornaCampionato($args) {
//$args = (int)$args;
return 10;
}
function AggiornaRisultati($args) {
$args = (int)$args;
return $args;
}
function AggiornaCategoria($args) {
//$args = (int)$args;
return 10;
}
ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache
$server = new SoapServer("aicscalcio.wsdl");
$server->addFunction("AggiornaCampionati");
$server->addFunction("AggiornaCampionato");
$server->addFunction("AggiornaRisultati");
$server->addFunction("AggiornaCategoria");
try {
$server->handle();
}
catch (Exception $e) {
$server->fault('Sender', $e->getMessage());
}
?>
为什么不返回字符串值?
其他功能也没有返回任何值!!
我怎样才能确定PHP函数被召回?
谢谢!
答案 0 :(得分:0)
解决!
我不能直接返回字符串!
正确的功能是:
function AggiornaCampionati($args) {
return array( "sresult" => $args->nomeCampio,
"iresult" => $args->id );
}
(与此同时我也添加了一个整数) 与其他功能相同。