Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/05/2011, 13h04   #1
Candidat au titre de Membre du Club
 
Homme
Développeur Web
Inscription : février 2008
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : février 2008
Messages : 115
Points : 11
Points : 11
Par défaut Web Service sous symfony

Bonjour,

Voila je doit mettre en place pour l'un de nos clients un web service. J'aimerai savoir comment on fait un web service sous Symfony. J'ai vue qu'il y avait des plugin mais je ne trouve pas claire leur doc et l'utilisation.

Alors si quelqu'un à déjà fait un web service avec Symfony (1.2) et qu'il possède un tuto claire (car je suis encore novice dans cette partie de développement). Je suis preneur.

Merci infiniment.
amalec78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 13h10   #2
Membre habitué
 
Homme Ludovic
Étudiant
Inscription : janvier 2011
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Ludovic
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 124
Points : 140
Points : 140
Voilà un tuto http://www.symfony-project.org/jobee...Doctrine/en/16

J'ai sélectionné la version 1.2 de symfony et doctrine mais tu peux prendre n'importe quel version et ORM.
PeytaWodka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 13h20   #3
Candidat au titre de Membre du Club
 
Homme
Développeur Web
Inscription : février 2008
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : février 2008
Messages : 115
Points : 11
Points : 11
Merci pour ta réponse.

Oui je connaissais déjà ce lien. J'ai déjà fait un web service avec. Mais j'ai oublié de mettre des précisions dans mon premier message.

Je doit utiliser SOAP. Donc je doit faire un fichier wsdl.
amalec78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 13h32   #4
Membre habitué
 
Homme Ludovic
Étudiant
Inscription : janvier 2011
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Ludovic
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 124
Points : 140
Points : 140
Quels sont les plugins que tu as déjà essayés ?
PeytaWodka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 13h46   #5
Candidat au titre de Membre du Club
 
Homme
Développeur Web
Inscription : février 2008
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : février 2008
Messages : 115
Points : 11
Points : 11
Je suis tombé sur un tuto pour ce plugins : http://www.symfony-project.org/plugi...bServicePlugin. Mais j'ai vue que ce plugins n'était compatible que 1.3 et j'ai trouvé un autre plugins mais n'ayant aucune doc je ne l'ai pas installé.

Si je savais créer un fichier wsdl sous symfony avec les éléments de-dans. Ca me serai utile.
amalec78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 14h01   #6
Candidat au titre de Membre du Club
 
Homme
Développeur Web
Inscription : février 2008
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : février 2008
Messages : 115
Points : 11
Points : 11
J'ai trouvé se tuto http://www.finalconcept.com.au/artic...bserviceplugin mais il me semble pas très clair....
amalec78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 15h00   #7
Membre habitué
 
Homme Ludovic Henry
Étudiant
Inscription : octobre 2009
Messages : 97
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Henry
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2009
Messages : 97
Points : 105
Points : 105
Bonjour,

La différence entre la version 1.3 et la version 1.4 est que la version 1.4 est une version 1.3 mais dont les fonctions obsolètes ont été supprimés. Tu peut donc utiliser dans la grande majorité des cas un plugins 1.4 dans la version 1.4 de symfony.

Je t'encourage donc à créer ton webservice avec ckWebServicePlugin

Inarius
Inarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 15h15   #8
Candidat au titre de Membre du Club
 
Homme
Développeur Web
Inscription : février 2008
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : février 2008
Messages : 115
Points : 11
Points : 11
Oui mais le souci c'est que le projet a été fait sous la 1.2
amalec78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 15h39   #9
Candidat au titre de Membre du Club
 
Homme
Développeur Web
Inscription : février 2008
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : février 2008
Messages : 115
Points : 11
Points : 11
Et y-a-t-il pas moyen de créer un web service totalement a la main. En créer son propre fichier wsdl. Car le web service doit juste faire un traitement.
amalec78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 17h59   #10
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Il est parfaitement possible de créer un web service sans passer par un plugin.

Il est probable que le plugin fonctionne sur la 1.2, même s'il n'est pas validé. Il faudra le valider toi même. Je ne sais pas s'il est fourni avec les fichiers tests, cela simplifierait de beaucoup la vérification de compatibilité.

Après, c'est à toi de voir, en fonction du nombre de commande dans ton web service si cela vaut la peine d'adapter le plugin à la 1.2 ou s'il n'est pas plus simple de développer directement ton web service.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 23h46   #11
Membre habitué
 
Homme Ludovic Henry
Étudiant
Inscription : octobre 2009
Messages : 97
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Henry
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2009
Messages : 97
Points : 105
Points : 105
Sinon, pourquoi ne pas utiliser Zend? Tu as des classes dans Zend qui te permettent de mettre facilement en place un webservice.

Pour installer Zend dans symfony, tu peut regarder dans la doc : http://www.symfony-project.org/jobee...zend_framework

J'espere que ca te sera utile,
Inarius
Inarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 07h36   #12
Candidat au titre de Membre du Club
 
Homme
Développeur Web
Inscription : février 2008
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : février 2008
Messages : 115
Points : 11
Points : 11
Merci pour toutes vos réponses.

Pour Zend je préfère pas trop l'utilisé, car je trouve inclure Zend dans Symfony fait ralentir l'exécution du projet.

Pour le plugin, je l'ai installé. Je suis actuellement entrain de le testé. Mais comme s'est mon premier Web Service (de plus sous symfony, pour en rajouter une couche ) que je fait, j'ai encore du mal sur la compréhension.

Sinon si quelqu'un a un petit tuto sur la conception de a à z d'un web service sous symfony. Je suis preneur.

Pour l'instant je test le plugin et je reviens vers vous si j'ai des résultats ou non.
amalec78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 09h56   #13
Membre régulier
 
Guillaume M.
Inscription : décembre 2010
Messages : 58
Détails du profil
Informations personnelles :
Nom : Guillaume M.

Informations forums :
Inscription : décembre 2010
Messages : 58
Points : 81
Points : 81
Pour avoir fait un webservice récemment (pas sous symfony), j'ai découvert Zend Studio qui permet d'éditer les fichiers WSDL et XSD depuis une interface graphique. Il fait tout le plus gros du travail et il reste juste quelques petites corrections à apporter dans le WSDL mais rien de bien méchant.
gmarsay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 09h57   #14
Candidat au titre de Membre du Club
 
Homme
Développeur Web
Inscription : février 2008
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : février 2008
Messages : 115
Points : 11
Points : 11
Bon je n'y comprend rien ... . Surtout que c'est mon premier web service en soap. Autant c'est simple de faire un web service en xml. Au temps je trouve dur de le faire en soap surtout avec symfony.
amalec78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 10h01   #15
Candidat au titre de Membre du Club
 
Homme
Développeur Web
Inscription : février 2008
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : février 2008
Messages : 115
Points : 11
Points : 11
Je viens de trouvé ca : http://snippets.symfony-project.org/snippet/135. Je vais voir si je peut l'adapté.
amalec78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 10h23   #16
Candidat au titre de Membre du Club
 
Homme
Développeur Web
Inscription : février 2008
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : février 2008
Messages : 115
Points : 11
Points : 11
Bon je viens d'installer le plugin qui me permet de faire des web service. J'ai suivi le tutoriel. J'ai mon wsdl...Et après... (le mec complétement perdu...)
amalec78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 14h17   #17
Candidat au titre de Membre du Club
 
Homme
Développeur Web
Inscription : février 2008
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : février 2008
Messages : 115
Points : 11
Points : 11
Bon j'ai suivit le tutoriel et j'ai fait une méthode client pour testé le web service mais voila j'ai une jolie erreur qui est la suivante "DTD are not supported by SOAP".

Je vous fourni mon code de ma méthode et mon wsdl.
Code :
1
2
3
4
5
6
7
8
9
 
	public function executeIndex(sfWebRequest $request)
	{
		ini_set("soap.wsdl_cache_enabled", 0);
		$wsdl = "http://localhost/SoapApi.wsdl";
		$test = new SoapClient($wsdl, array('trace' => true));
		$test->performanse_multiply('1','2');
		die;
	}
Voici mon wsdl :

Code :
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
28
29
30
31
32
33
34
35
36
37
 
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="SoapApi" targetNamespace="http://localhost/" xmlns:tns="http://localhost/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
  <wsdl:types xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://localhost/"/>
  </wsdl:types>
  <wsdl:portType name="SoapApiPortType">
    <wsdl:operation name="performanse_multiply" parameterOrder="a b">
      <wsdl:input message="tns:performanse_multiplyRequest"/>
      <wsdl:output message="tns:performanse_multiplyResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="SoapApiBinding" type="tns:SoapApiPortType">
    <soap:binding xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="performanse_multiply">
      <soap:operation xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" soapAction="http://localhost/performanse_multiply" style="rpc"/>
      <wsdl:input xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
        <soap:body xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" parts="a b" use="literal" namespace="http://localhost/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
        <soap:body xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" parts="result" use="literal" namespace="http://localhost/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:message name="performanse_multiplyRequest">
    <wsdl:part name="a" type="xsd:double"/>
    <wsdl:part name="b" type="xsd:double"/>
  </wsdl:message>
  <wsdl:message name="performanse_multiplyResponse">
    <wsdl:part name="result" type="xsd:double"/>
  </wsdl:message>
  <wsdl:service xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="SoapApiService">
    <wsdl:port xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="SoapApiPort" binding="tns:SoapApiBinding">
      <soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://localhost/SoapApi.php"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
amalec78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 15h26   #18
Candidat au titre de Membre du Club
 
Homme
Développeur Web
Inscription : février 2008
Messages : 115
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : février 2008
Messages : 115
Points : 11
Points : 11
j'ai rajouté dans ma méthode index cette ligne :

Code :
1
2
3
4
5
6
 
echo '<pre>';
		var_dump($service->__getLastRequest(), 
		         $service->__getLastRequestHeaders(), 
		         $service->__getLastResponse(), 
		         $service->__getLastResponseHeaders());
Il me retourne tous null...
amalec78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h09.


 
 
 
 
Partenaires

Hébergement Web