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

Silverlight Discussion :

appeler un webservice php


Sujet :

Silverlight

  1. #1
    Membre très actif Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 714
    Par défaut appeler un webservice php
    Bonjour, j'ai une appli silverlight qui doit appeler un webservice distant php.
    J'ai bien mis un clientaccesspolicy.xml à la racine du site distant mais je n'obtiens rien. Pour info, mon service web est nominal et mon serviceReference c'est bien passé sous 2 environnements différents de visualStudio 2010.

    Mon appli :
    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
     
    namespace SilverlightApplication6
    {
        public partial class MainPage : UserControl
        {
            public MainPage()
            {
                InitializeComponent();
            }
    /*
            private void button1_Click(object sender, RoutedEventArgs e)
            {
                comboBox1.Items.Add(textBox1.Text);
                ServiceReference1.HelloYouPortClient proxyMonWebService = new ServiceReference1.HelloYouPortClient();
     
                proxyMonWebService.getHelloAsync("nom", "prenom");
                proxyMonWebService.getHelloCompleted += service_getHelloCompleted;
     
            }
            */
     
            private void button1_Click(object sender, RoutedEventArgs e)
            {
                comboBox1.Items.Add(textBox1.Text);
     
                ServiceReference1.HelloYouPortClient service =
                    new ServiceReference1.HelloYouPortClient();
                service.getHelloCompleted +=
                    new EventHandler<ServiceReference1.getHelloCompletedEventArgs>(service_getHelloCompleted);
     
                service.getHelloAsync("nom","prenom");
            }
     
     
            public void service_getHelloCompleted(object sender,
                    ServiceReference1.getHelloCompletedEventArgs e)
            {
                MessageBox.Show(e.Result);
            }
        }
    }
    Mon clientAccessPolicy.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?xml version="1.0" ?>
    <access-policy>
      <cross-domain-access>
        <policy>
          <allow-from http-request-headers="*">
            <domain uri="*"/>
          </allow-from>
          <grant-to>
            <resource path="/" include-subpaths="true"/>
          </grant-to>
        </policy>
      </cross-domain-access>
    </access-policy>

  2. #2
    Membre très actif Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 714
    Par défaut
    C'est du silverlight 4, le 3 ne marche pas non plus.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut,

    Sauf que tu ne nous dis pas quel est le problème. Est-ce la communication qui marche ?

  4. #4
    Membre très actif Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 714
    Par défaut
    Je suppose, le service et ses méthodes sont bien détectés au référencement.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ton fichier ClientAccessPolicy.xml est correct.
    Je propose que tu utilises Fiddler pour voir ce qui se passe lors de l'appel du service web php

  6. #6
    Membre très actif Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 714
    Par défaut
    Je ne connais pas fiddler , j'ai fait le test avec burpsuite.
    A l'ouverture dans le browser ça me retourne sur le port 51184 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    GET /SilverlightApplication6TestPage.aspx HTTP/1.1
    Host: localhost:51184
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 115
    Connection: keep-alive
    Cache-Control: max-age=0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    GET /Silverlight.js HTTP/1.1
    Host: localhost:51184
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
    Accept: */*
    Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 115
    Connection: keep-alive
    Referer: http://localhost:51184/SilverlightApplication6TestPage.aspx
    Cache-Control: max-age=0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    GET /ClientBin/SilverlightApplication6.xap HTTP/1.1
    Host: localhost:51184
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 115
    Connection: keep-alive
    Le déclenchement de l'appel sur button1_Click n'est pas monitoré.
    Le port 80 est réservé sur mon poste et je ne sais pas comment désactiver IIS.
    J'imagine que ça peut être un élément de réponse.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Comment pour générer le proxy sous Visual Studio je me demande ?
    T'utilisais ce numéro de port 51184 ou autre chose ?

  8. #8
    Membre très actif Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 714
    Par défaut
    bonjour désolé pour mon absence ... la discussion continue ici

  9. #9
    Membre très actif Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 714
    Par défaut
    Est-ce que quelqu'un a déjà réussi à consommer un webservice php en .net autr que du JSON ?

  10. #10
    Membre très actif Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 714
    Par défaut
    Pour conclure et résoudre ce topic, la réponse est qu'en silverlight, à l'heure actuelle, on ne peut pas consommer simplement un web service php et l'utiliser par le "service reference".

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par zulad Voir le message
    la réponse est qu'en silverlight, à l'heure actuelle, on ne peut pas consommer simplement un web service php et l'utiliser par le "service reference".
    C'est faux ce que tu dis. L'ajout d'un service reference n'a besoin que de l'url du fichier de métadonnée donc le WSDL pour pouvoir créer la classe Proxy.
    Il s'en fout en gros de savoir que le service soit développé en PHP, Java, .Net etc. Si l'ajout ne marche pas cela veut tout simplement dire que ton WSDL est incorrect.

  12. #12
    Membre très actif Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 714
    Par défaut
    Incorrect pour silverlight, parceque les wsdl générés par le framework zend répondent aux normes du W3C. Il faudrait un feedback de quelqu'un qui à pu les faire tourner par défaut... Sans manip ou raffistolages.

    Edit : par ailleurs ces webservices fonctionnent très bien sous winforms...

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

Discussions similaires

  1. [Web Service] Comment appeller un webservice en php ?
    Par masterx_goldman dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 22/05/2012, 16h39
  2. appel webservice php
    Par zulad dans le forum Silverlight
    Réponses: 7
    Dernier message: 12/02/2012, 21h58
  3. Problème de variable lors d'1 appel de fonction PHP
    Par kriekbellevue dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 14/02/2006, 17h49
  4. Appeler un webservice
    Par pcdingo dans le forum ASP
    Réponses: 5
    Dernier message: 11/01/2006, 14h30
  5. Réponses: 6
    Dernier message: 23/05/2005, 08h33

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