Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-11-2007 12:07:22

ichevc02
Membre
Date d'inscription: 25-07-2007
Messages: 127

[SOAP,WSDL]Créer un web service avec le zend framework

Bonjour à tous,

J'ai developpé une appli mvc avec le zend framework, maintenant je souhaite passer a la seconde étape: creer des services web.

le but :
Je souhaiterai pouvoir garder l'architecture mvc de mon appli et y integrer un/des service web (soap)

le probleme
Je ne trouve pas de doc pour creer des web services avec le zend_framework (et non pas faire appel à un service existant);

Les question ++ :
- en googolant pas mal , je suis tombé sur des Zend_Server_soap qui n'exite pas dans le framework (1.0.2)!!??
- Une question theorique : quelle est la diference entre REST et SOAP (si vous avez des liens interessants ...)

merci d'avance de vos lumières wink

ichevc

Hors ligne

 

#2 08-11-2007 14:59:38

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [SOAP,WSDL]Créer un web service avec le zend framework

Bonjour,

Si tu veux créer un "vrai" service web avec SOAP, WSDL & co, il n'y a pas de fonction dans le ZF, parce que ça existe en natif en PHP :
http://talks.php.net/show/torkey06/19 (c'est un peu vieillot, mais c'est un exemple hyper simple)

REST (à ma connaissance) ça n'est pas vraiment une norme, c'est une façon d'appeler des URL qui vont effectuer des actions. Les paramètres sont dans l'URL (en get ou via des URL plus sympa) et la réponse du service est en XML. C'est une façon hyper light de faire des webservices.

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#3 08-11-2007 15:11:51

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [SOAP,WSDL]Créer un web service avec le zend framework

Heu il y a les classe Zend_Serveur pour ça il me semble

REST est un moyen simple de faire des WS il peut être amméloré en utilisant un paquet XML ha doc (comme pour la réponse) envoyé en PUT ou POST au serveur en guise de requête ainsi les paramètre ne traînent pas dans les URL et tu peux passer des structures complexe.

mais ça reste très ligth
A+JYT

Hors ligne

 

#4 08-11-2007 16:03:53

ichevc02
Membre
Date d'inscription: 25-07-2007
Messages: 127

Re: [SOAP,WSDL]Créer un web service avec le zend framework

merci pour vos réponses.

J'ai déjà developpé des services web (tres tres simples) avec les fonctions native php5.
Ce que j'esperais, c'est pouvoir facilement utiliser l'architecture mvc du framework pour le service web (et la je vois pas trop comment faire).

@sekaijin j'ai regardé le répertoire server :
y a une classe abstraite qui ne m'aide pas beaucoup, une interface tres tres light
et une partie (package si on peut dire) reflection .

en résumer : je ne voit pas comment l'utiliser (si je dérive la classe abstraite et implemente l'interface je me sens pas plus avancé)  wink


merci pour les info pour REST vais creuser ça en parallèle.

ichevc

Dernière modification par ichevc02 (08-11-2007 16:05:22)

Hors ligne

 

#5 08-11-2007 19:01:38

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: [SOAP,WSDL]Créer un web service avec le zend framework

J'avais fait un service web avec Zend_Rest_Server avant ZF 1.0, ca fonctionnait très bien.
Sinon tu peux utiliser SOAP, en mode WSDL (ou pas d'ailleurs) , c'est vraiment très puissant.
Le Zend Studio ( pour information ), est capable de générer un WSDL en fonction d'une classe et de ses méthodes.

Hors ligne

 

#6 08-11-2007 20:27:13

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [SOAP,WSDL]Créer un web service avec le zend framework

Julien a écrit:

J'avais fait un service web avec Zend_Rest_Server avant ZF 1.0, ca fonctionnait très bien.
Sinon tu peux utiliser SOAP, en mode WSDL (ou pas d'ailleurs) , c'est vraiment très puissant.
Le Zend Studio ( pour information ), est capable de générer un WSDL en fonction d'une classe et de ses méthodes.

utiliser le générateur de ZS avec précautions car pour l'avoir utiliser c'est loin d'être parfait j'ai fini par écrire mon WSDL à la main

quant à SOAP sous PHP5 le client ne sait pas invoquer un service avec pièce jointe.

je n'ai pas encore porté mon des et je ne sais si je le ferais mais sous php4 dans mon framework j'avais une architecture de service avec un seul point d'entrée et un dispatcher comme celui de ZF MVC il me suffisait d'écrire une classe Service pour que ses méthodes soient publiée en REST SOAP et phpStream. exactement comme on fait un controleur dans MVC je fait un controleur de services dans ce truc.
je trouve que de ce côté là ZF n'est pas super bien loti surtout comparer à des truc comme AXIS


a part ça il me semble avoir vu un tuto sur le net de mise en oeuvre de Zend_Soap_Server
A+JYT

Hors ligne

 

#7 13-11-2007 12:09:35

ichevc02
Membre
Date d'inscription: 25-07-2007
Messages: 127

Re: [SOAP,WSDL]Créer un web service avec le zend framework

Re bonjour à tous,

je vous fais un point de ce que j'ai découvert

J'ai télécharger dans l'incubateur le "package" SOAP avec notemment Zend_Soap_AutoDiscover qui permet de generer dynamiquement le wsdl (entre autre) : génial.

j'ai donc fait un petit test

$server = new Zend_Soap_AutoDiscover();       
$server->setClass('MaClasseDeServiceWeb');       
$server->handle(); 

et ma petite classe de test :

class MaClasseDeServiceWeb {
    public function untest($var1) {
        return 'Salut toi';
    }   
   
    /**
     * Enter description here...
     *
     * @param object $toto
     * @return string
     */
    public function maFonctiontest(IpabDocument $toto){
        return 'coucou cédric';
    }
}

Alors  :
si je fais appel via un navigateur à mon service web, il me renvoie un wsdl généré dynamiquement : Génial.

Ensuite vient le probleme des types , j'ai mis les tags phpdoc car la classe s'en sert pour les types :
(si je met @param string $toto je me retrouve avec un "xsd:string")

pour avoir une structure je suis obligé de preciser le type object (et nom le type reel de mon objet).

par contre le package est incapable de creer des types complexe (aparemment)

Voila, je ne sais pas si ca servira à quelqu'un ...

ichevc

Hors ligne

 

#8 13-11-2007 15:59:24

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [SOAP,WSDL]Créer un web service avec le zend framework

Merci pour ce retour, je me suis permis d'ajouter [SOAP,WSDL] dans le titre du message pour permettre à des gens intéressés de tomber sur ton message plus facilement.

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#9 13-11-2007 16:12:27

ichevc02
Membre
Date d'inscription: 25-07-2007
Messages: 127

Re: [SOAP,WSDL]Créer un web service avec le zend framework

Petite "astuce"

Pour pouvoir utiliser le Zend_Soap_AutoDiscover avec le Zend_Controller (donc garder la structure mvc):

il y a quelque modifs à apporter aux classes Zend_Soap_AutoDiscover et Wsdl (à cause du routage)

j'ai trouvé ces infos ici :
http://osdir.com/ml/php.zend.framework. … 00457.html

Dernière modification par ichevc02 (13-11-2007 16:15:04)

Hors ligne

 

#10 13-11-2007 17:54:00

ichevc02
Membre
Date d'inscription: 25-07-2007
Messages: 127

Re: [SOAP,WSDL]Créer un web service avec le zend framework

Bon mauvaise nouvelle :

j'arrive a faire fonctionner tres bien un webservice avec le Zend_soap avec les type simple.
En cherchant un peu  et en fouillant le code , il n'est pas possible de faire fonctionner le Zend_auto_discover et plus genéralement de Zend_Wsdl avec des custom types :-( .

Il va falloir attendre ou ecrire les wsdl  à la main.

source :
constat perso + bug tracker Zend Framework :
http://framework.zend.com/issues/browse/ZF-1586

Hors ligne

 

#11 06-07-2009 15:42:19

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [SOAP,WSDL]Créer un web service avec le zend framework

bonjour je teste pour installer un serveur soap sur un serveur en https . Alors le serveur fonctionne j'ai suivi le livre Zend Framework et j'ai bien le message enveloppe.

Le pb vient  pour le client , j'ai ce message d'erreur "looks like we got no XML document" et en cherchant  je trouve cela dans la doc officiel  pour le client "'local_cert' et 'passphrase' : options d'authentification HTTPS. " mais je ne voit pas comment l'utiliser ?

Merci de votre aide

cdt
Cédric


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages