IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Discussion :

Webservice C# et client PHP via SOAP.


Sujet :

Services Web

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut Webservice C# et client PHP via SOAP.
    Bonjour,

    Voila je voudrais créer un webservice avec Visual Studio 2008 en C#, puis créer une application client en PHP qui utilise ce service.

    Quelqu'un peut il m'indiquer un bon tutoriel (anglais ou francais) qui expliquerait tres simplement comment faire (par exemple avec un webservice qui additionne 2 nombres).

    Ce que je ne demande pas, c'est que l'on me dise "Cherche sur google il y à pleins de tuto" car cela fait vraiment longtemps que je cherche en vain (peut etre ne suis je pas tres doué).

    Je vous remercie d'avance.

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut
    Je te remercie. Je vais regarder cela tout de suite.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut
    Alors j'ai bien traité tous ces liens mais je me rend compte qu'ils ne traintent que de la partie Webservice C# et client en WindowForm ou ASP.NET made in Visual Studio.

    Je voudrais trouver des tutos pour la partie client PHP qui va chercher les services du Webservice C# hébergé par IIS par exemple. Le tout par l'intermédiaire du SOAP.

    Merci

  5. #5
    wogkiller
    Invité(e)
    Par défaut
    j'ai cherché à faire comme toi il y a quelques mois, mais tu te rendras compte qu'il vaut mieux faire un webservice et un client en .net !
    Déjà, le client en php, il n'a jamais fonctionné le mien (j'ai essayé la librairie NuSoap, et aussi celle intégrée à PHP5, mais ça fonctionnait jamais). Du coup, j'ai fait un client en asp.net, et tout fonctionnait parfaitement. Donc à toi de voir

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut
    j'ai cherché à faire comme toi il y a quelques mois, mais tu te rendras compte qu'il vaut mieux faire un webservice et un client en .net !
    Déjà, le client en php, il n'a jamais fonctionné le mien (j'ai essayé la librairie NuSoap, et aussi celle intégrée à PHP5, mais ça fonctionnait jamais). Du coup, j'ai fait un client en asp.net, et tout fonctionnait parfaitement.
    Je te remercie pour ta réponse. Cela dit en théorie il n'y à aucune raison pour que cela ne marche pas. Si chacun des deux cotés envoie les données en xml, et en ajoutant un fichier *.wsdl qui fait le lien, cela devrait marcher.


    Quelqu'un peut il me faire parvenir de n'importe quelle source (tuto ou perso) un tout petit code PHP qui va par exemple chercher un programme C# qui renvoie un HelloWorld, ainsi que ce code C# qui fait un tout petit webservice incluant cette fonction HelloWorld.

    Je vous remercie d'avance.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut
    Bon et bien voilà j'ai réussi enfin !!

    J'ai réussi à faire un client PHP qui va intéroger un webservice écrit en C#.
    Je vous donne mes codes si cela peut vous aider :

    Pour le Webservice C# -->
    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
    28
    29
    30
    31
    32
    33
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.Xml.Linq;
    using System.Data.SqlClient;
     
     
    namespace WebService3
    {
        /// <summary>
        /// Summary description for Service1
        /// </summary>
        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        [ToolboxItem(false)]
        // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
        // [System.Web.Script.Services.ScriptService]
        public class Service1 : System.Web.Services.WebService
        {
     
            [WebMethod]
            public string HelloWorld(string nom)
            {
                return "Hello "+nom;
            }
     
        }
    }
    Pour le client PHP -->
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    	<head>
    		<title>PHP test</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
           <link rel="stylesheet" media="screen" type="text/css" title="Design" href="style.css" />
    	</head> 
    <body> 
     
    		<p>			
    		<?php			   
     
    				require('nusoap.php');
    			 	  $client = new nusoap_client('http://localhost/WebService3/WebService3/Service1.asmx?wsdl',true);
     
    				$parametres = array('nom'=>$_POST['lettre']);
     
    			    $res=$client->call('HelloWorld', $parametres) ;
    			    print_r($res);		
    		?> 
    </p>
     
    </body>
    </html>
    Bon maintenant j'en suis à essayer d'écrire une Webmethod qui va aller chercher des données sur une base SQL, d'ailleurs si quelqu'un a une idée .....

  8. #8
    Membre du Club Avatar de cocosql
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 82
    Points : 59
    Points
    59
    Par défaut
    Voici un exemple d'un web service que j'ai fait, qui va chercher les age d'un utilisateur dans la base de données à partir de son nom et de son prénom

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    //Service qui renvoie l'age d'un utilisateur de la base
    [WebMethod]
        public Int32 GetAgeFromUser(string Nom, string Prenom)
        {
     
            public string StringConnection = "server=tonServer;database=taBase;Uid=tonLoginSql;Pwd=tonPwdSql;";
            //ou sinon tu peux faire ca
            // public string StringConnection = "server=tonServer;database=taBase;Integrated Security=SSPI;";
            SqlConnection maConnection = new SqlConnection(StringConnection);
            maConnection.Open();
            SqlCommand maCommande = maConnection.CreateCommand();
            maCommande.CommandType = CommandType.Text;
            maCommande.CommandText = "SELECT DateNaissance FROM Table WHERE Nom = @Nom AND Prenom = @Prenom;";
            SqlParameter param = maCommande.CreateParameter();
            param.ParameterName = "@Nom";
            param.DbType = DbType.String;
            param.Value = Nom;
            maCommande.Parameters.Add(param);
            SqlParameter param2 = maCommande.CreateParameter();
            param2.ParameterName = "@Prenom";
            param2.DbType = DbType.String;
            param2.Value = Prenom;
            maCommande.Parameters.Add(param2);
            SqlDataReader monCurseur = maCommande.ExecuteReader();
            //après tu exploite les résultats comme tu veux, moi j'ai fait ca :
            ArrayList TabDate = new ArrayList();
            while (monCurseur.Read())
            {
                TabDate.Add(monCurseur.GetValue(0));
            }
            maConnection.Close();
            if (TabDate.Count == 0)
            {
                Int32 NoDF = 0;
                return NoDF;
            }
            else
            {
                DateTime DateNaiss = (DateTime)TabDate[0];
                TimeSpan span = DateTime.Now.Subtract(DateNaiss);
                Int32 AgeSalarie = (Int32)span.Days / 365;
                return AgeSalarie;
            }
    }

  9. #9
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Citation Envoyé par wogkiller Voir le message
    j'ai cherché à faire comme toi il y a quelques mois, mais tu te rendras compte qu'il vaut mieux faire un webservice et un client en .net !
    Ce qu'il faut pas lire des fois... oO

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut
    @cocosql@ Merci pour cet exemple de code.
    @wogkiller@ Effectivement je pense que tu n'es pqs trés percévérant.

    Surtout les gens n'hésitez pas laisser des exemples de code.

    Je vous remercie d'avance.

  11. #11
    Membre du Club Avatar de cocosql
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 82
    Points : 59
    Points
    59
    Par défaut
    J'avoue ca aide

  12. #12
    wogkiller
    Invité(e)
    Par défaut
    c'est vrai, je suis pas très persévérant, mais j'étais en retard quand j'avais voulu le faire... depuis j'ai pas réessayé :s

    En tout cas, même maintenant je le ferais en aspx si je devais le refaire,.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Web Service][SOAP] client php et web service windev
    Par pev15 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 28/05/2010, 13h48
  2. [SOAP] Tableau dans un client PHP
    Par nezdeboeuf62 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 19/11/2009, 16h13
  3. Client Php consomme webservice Java
    Par jm49 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 23/07/2009, 09h59
  4. [Web Service] SOAP Client PhP avec services J2EE - Passage de tableau
    Par wheelshot dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/04/2009, 14h00
  5. Webservice C# et client PHP via SOAP. ->HELP<-
    Par rudylar dans le forum Services Web
    Réponses: 2
    Dernier message: 14/05/2008, 09h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo