1

我第一次在 SOAP 上工作。经过各种教程后,我已经能够创建一个提供两个功能的小而简单的肥皂服务器。尽管我已经能够创建 SOAP 服务并使用客户端对其进行测试,但即使在阅读了http://www.w3schools.com/wsdl/wsdl_binding.asp上的教程之后,我也无法理解 WSDL 。

那么我怎样才能使这个 SOAP “wsdl 肥皂”?有没有办法在 PHP 中自动生成它?只要我知道要写什么,我不介意手动写下来。我在哪里放什么代码使它成为“wsdl”?

function geolocate(double $lat, double $lng)
{
    $contents = file_get_contents('http://api.geonames.org/findNearby?lat='.$lat.'&lng='.$lng.'&username=imranomar');
    return $contents;
}

function describe(long $geonameid)
{
    return file_get_contents('http://ws.geonames.org/get?geonameId='.$geonameid.'&style=full');
}

$server = new SoapServer(null, array('uri' => "urn://localhost/firstmobile?wsdl"));
$server->addFunction('geolocate');
$server->addFunction('describe');
$server->handle();

注意:我不能使用任何框架

4

1 回答 1

0

我建议你使用Zend_Soap_Server,因为它简化了 PHP 中的 web 服务开发。

可以使用Zend AutoDiscovery自动生成 SOAP WSDL

于 2012-08-24T14:07:26.253 回答