如何生成wsdl

时间:2012-08-24 09:58:02

标签: php soap wsdl

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

那么如何制作这个SOAP“wsdl soap”?有没有办法在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();

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

1 个答案:

答案 0 :(得分:0)

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

可以使用Zend AutoDiscovery

自动生成SOAP WSDL