Bonjour,
Je suis en train de tester Symfony2 dans le cadre de la création d'un webservice SOAP.
Voici le contrôleur suivant pour la génération du WSDL et du serveur SOAP :
Le webservice est associé à la classe TestService.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 namespace Pn\WebserviceBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Response; class DefaultController extends Controller { public function serverAction() { $server = new \Zend_Soap_Server('http://softwares.xxxx.fr/web/app_dev.php/webservices/test'); $server->setClass('\Pn\WebserviceBundle\Services\TestService'); $response = new Response($server->handle()); $response->headers->set('Content-Type', 'text/xml; charset=UTF-8'); ob_start(); $server->handle(); $response->setContent(ob_get_clean()); return $response; } public function wsdlAction() { $autodiscover = new \Zend_Soap_Autodiscover(); $autodiscover->setClass('\Pn\WebserviceBundle\Services\TestService') ->setUri('http://softwares.xxxx.fr/web/app_dev.php/webservices/test/server'); return new Response($autodiscover->toXml()); } }
J'aimerai dans cette classe TestService utilisé Doctrine pour accéder à ma table mais je ne vois pas comment procéder :
Merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public function getAddress($id) { $repository = $this->getDoctrine()->getManager('pntest')->getRepository('PnWebservice:Address'); $address = $repository->find($id); return $address->fistName; }
Partager