0

我正在编写我的第一个 php 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>

那是空的(返回消息是 ok(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 函数?
谢谢!

4

1 回答 1

0

解决了!
我不能直接返回字符串!
正确的功能是:

function AggiornaCampionati($args) {
return array( "sresult" => $args->nomeCampio,
    "iresult" => $args->id );
}

(同时我还添加了一个整数)。
其他功能同理。

于 2012-12-31T10:41:57.983 回答