server pro webové služby (webservices) – SOAP, WSDL, XSD
- 2bfree
- Člen | 248
Zdravím,
chystám se psát jednu aplikaci, která by měla sloužit jako server webových
služeb. Za tímto účelem tedy potřebuji vystavit soubor WSDL a XSD. Tento
však potřebuji „generovat“ a to ideálně přes šablonovací systém,
abych do těchto souborů mohl automaticky vkládat například url adresu
serveru.
Chci se zeptat, zda-li existuje nějaká „lepší“ cesta, nežli mít prázdný presenter a k němu šablonu a následně upravený bootstrap.php tak, aby přeroutoval „soubor.wsdl“ a „soubor.xsd“ na tento presenter?
Příjde mi to jako děsuplná spatlanina, ale lepší mě nenapadá.
- Ondřej Mirtes
- Člen | 1536
Předně bych si napsal WsdlResponse (implementující IPresenterResponse), která ti zaobalí generování toho souboru. V konstruktoru ji můžeš předat cokoli, z čeho pak uvnitř ní dokážeš vygenerovat to výsledné XML (nebo co je to vlastně za formát). Podívej se do frameworku např. na implementaci DownloadResponse, abys viděl, jak jednoduše to funguje.
Poté si v tom WsdlPresenteru vytvoříš metodu render a v ní ukončíš běh presenteru právě pomocí té WsdlResponse. Nějakou šablonou se nemusíš zabývat, protože životní cyklus presenteru k ní už nedoběhne (zkrátka už něco, co pošle na výstup, má).
public function renderDefault()
{
$this->terminate(new WsdlResponse($data));
}