如何生成wsdl

I am working for the first time on SOAP. After going through various tutorials I have been able to create a small and simple soap server which offers two functions. Although I have been able to create the SOAP service and test it with a client I am not being able to understand WSDL even after going through the tutorials e.g. at http://www.w3schools.com/wsdl/wsdl_binding.asp .

So how can I make this SOAP "wsdl soap" ?? Is there anyway way to autogenerate it in PHP? I don't mind writting it down manually provided I know what to write. Where do I put what code to make it "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();

Note: I cannot be using any framwork

I suggest you use Zend_Soap_Server as it simplify webservices developpement in PHP.

It is possible to auto generate SOAP WSDL using Zend AutoDiscovery