Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML
XML Forum d'entraide sur XML avec PHP. Exemples : SimpleXML, OpenXML... Avant de poster -> FAQ XML, Cours XML et Sources XML
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 19/07/2011, 09h11   #1
Membre habitué
 
Inscription : décembre 2007
Messages : 579
Détails du profil
Informations personnelles :
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : décembre 2007
Messages : 579
Points : 114
Points : 114
Par défaut Php & SOAP

Bonjour,

Je viens de commencer l'écriture d'un Web service au travail. Le voici :

soap_client.php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
// Cette option du fichier php.ini permet de ne pas stocker en cache le fichier WSDL
ini_set('soap.wsdl_cache_enabled', 0);
 
// Utilisation d'un fichier WSDL
$service = new SoapClient("http://www.monsite.fr/SOAP/xml_data.wsdl");
 
// Appel de la méthode
$taballservices = $service->retourDate();
 
// Affichage du résultat
print_r($taballservices);
 
?>
soap_server.php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
// Cette option du fichier php.ini permet de ne pas stocker en cache le fichier WSDL
ini_set('soap.wsdl_cache_enabled', 0);
 
// Utilisation d'un fichier WSDL
$service = new SoapClient("http://www.monsite.fr/SOAP/xml_data.wsdl");
 
// Appel de la méthode
$taballservices = $service->retourDate();
 
// Affichage du résultat
print_r($taballservices);
 
?>
xml_data.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
<?xml version='1.0' encoding='UTF-8'?>
<!-- WSDL file generated by Zend Studio. -->
<definitions name="exemple" targetNamespace="urn:exemple" xmlns:typens="urn:exemple" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:typens0="http://www.monsite.fr/SOAP/soap_server.php">
	<message name="retourDate"/>
	<message name="retourDateResponse">
		<part name="retourDateReturn"/>
	</message>
	<portType name="essai_instancePortType">
		<operation name="retourDate">
			<input message="typens:retourDate"/>
			<output message="typens:retourDateResponse"/>
		</operation>
	</portType>
	<binding name="essai_instanceBinding" type="typens:essai_instancePortType">
		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="retourDate">
			<soap:operation soapAction="urn:essai_instanceAction"/>
			<input>
				<soap:body namespace="urn:exemple" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body namespace="urn:exemple" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
		</operation>
	</binding>
	<service name="exempleService">
		<port name="essai_instancePort" binding="typens:essai_instanceBinding">
			<soap:address location="http://www.monsite.fr/SOAP/soap_server.php"/>
		</port>
	</service>
</definitions>
comme vous pouvez le constater, j'ai utilisé un tuto de developpez.com pour le moment. maintenant je vais essayer de développer mes propres méthodes en PHP (pour ça je pense que je n'aurais pas de problème, mais soyons tout de même vigilant).
Ma préoccupation première est d'apprendre à générer mon propre fichier wsdl, est-ce possible avec netbeans ? j'utilise cet IDE au quotidien mais je ne le connais pas entièrement... je n'ai même jamais développé de projet avec un framework dessus ...
Je précise que je souhaite utiliser SOAP, et non NuSOAP !!

Pouvez-vous m'aider svp ?
merci
thor76160 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 11h18   #2
Membre habitué
 
Inscription : décembre 2007
Messages : 579
Détails du profil
Informations personnelles :
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : décembre 2007
Messages : 579
Points : 114
Points : 114
j'ai commis une petite erreur, voici le fichier soap_server.php :

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
<?php
 
class DateServer
{
    function retourDate()
    {
        $tab = array(
			'serveur' => $_SERVER['SERVER_SIGNATURE'],
			'date' => date("d/m/Y")
		);
 
		return $tab;
	}
}
 
// Cette option du fichier php.ini permet de ne pas stocker en cache le fichier WSDL
ini_set('soap.wsdl_cache_enabled', 0);
 
// Utilisation d'un fichier WSDL
$serversoap = new SoapServer("http://www.monsite.fr/SOAP/xml_data.wsdl");
 
// Utilisation de la class DateServer
$serversoap->setClass("DateServer");
 
// PHP prend la main
$serversoap->handle();
 
?>
thor76160 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 13h30   #3
Membre habitué
 
Inscription : décembre 2007
Messages : 579
Détails du profil
Informations personnelles :
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : décembre 2007
Messages : 579
Points : 114
Points : 114
j'ai appris que l' IDE Zend pouvait générer des fichiers wsdl, je l'ai donc installé.

J'ai parcouru ce tutoriel, mais je n'arrive même pas à mener la première étape à bien.

A un moment il faut choisir un "parent folder", le problème est que la liste ne comporte que "RemoteSystemsTempFiles", à part ça la liste est vide...
Je ne peux donc pas aller plus loin.

J'ai vraiment besoin d'aide svp.
thor76160 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h20.


 
 
 
 
Partenaires

Hébergement Web