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 :

probleme appel webservice distant


Sujet :

Silverlight

  1. #21
    Membre actif Avatar de freezer08
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Février 2011
    Messages : 59
    Par défaut
    My bad, mémoire de poisson rouge.

    Un message d'erreur, youpi ! Au moins tu progresses ...

    Il s'agit peut-être d'un mistmatch entre le contrat de données de ton web service et ton proxy.

    T'as essayé de mettre à jour ton proxy à partir du web service distant ?
    Services References > Clic droit sur ton service > Configure Service Reference > tu changes l'url > OK.

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

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    J'ai remis a jour le proxy: Je pointe là pour qu'il n'y ai pas d'erreur sur la wsdl... le server.php ne marche pas dans l'url.

    Le probleme n'est-il pas un problème de compatibilité ? Tu disais que wsdl n'était pas reconnu dans l'adresse du endpoint.

    EDIT : Mais non, qu'est ce que je raconte ... pas avec un service reconnu dans serviceReference ...

    donc le problème serait dans l'adresse du endpoint ?

  3. #23
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    Ce qui est étrange c'est qu'il n'y a aucune erreur!
    Rien dans le gestionnaire d'erreur du navigateur?

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

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    Absolument rien.

  5. #25
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    Bon on pietine un peu!
    Dans ces cas là tester avec une application exe lambda, sur le même serveur que le php ( a moins que ca ne soit impossible...)puis sur un autre.
    Tester avec un autre service php peut être qu'il y a une spécificité de celui-ci...

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

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    Ce que je peux faire c'est de tout tester en local. Webservice php et silverlight. Sinon, j'ai fait le test : je peux appeler le service distant depuis un php local.

    Mais comment faire pour configurer le service reference pour qu'il monte sur l'adresse relative du serveur ?

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

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    J'ai migré tout en local et ça ne fonctionne pas. Je n'arrive même pas à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    proxyMonWebService.getHelloAsync("nom", "prenom");

  8. #28
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    Essaye de supprimer la réference de service et de la refaire.

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

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    Je l'avais fait mais j'avais oublié de revoir le ServiceReference.ClientConfig.
    J'ai maintenant remis le endpoint a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <endpoint address="http://localhost:888/webServices/HelloYou.wsdl"
              binding="basicHttpBinding" bindingConfiguration="basicHttpBindingEndPoint"
              contract="ServiceReference1.HelloYouService" name="ProductionServiceConfiguration" />
    Mais sans succès. Je n'ai de plus aucune erreur.

    freezer08 avait suggéré que le probleme pouvait etre l'adress. Je n'ai rien d'autre a mettre que wsdl et en faisant configure service reference, ça ne bloque pas.


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

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    Super ! J'ai refait le Service Reference et le ServiceReference.ClientConfig et j'ai maintenant une erreur "CommunicationException"... mais elle ne survient pas tout le temps.

    An error occurred while trying to make a request to URI 'http://localhost:888/webServices/HelloYou.wsdl'. This could be due to attempting to access a service in a cross-domain way without a proper cross-domain policy in place, or a policy that is unsuitable for SOAP services. You may need to contact the owner of the service to publish a cross-domain policy file and to ensure it allows SOAP-related HTTP headers to be sent. This error may also be caused by using internal types in the web service proxy without using the InternalsVisibleToAttribute attribute. Please see the inner exception for more details.
    J'ai mis un clientaccesspolicy.xml sur mon root local mais ça ne marche toujours pas. Il me refait un "CommunicationException" de temps en temps.

    Mais au moins il passe mes fonctions assynchrones pour afficher "io".

    Mais je n'ai pas d'affichage de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     public void service_getHelloCompleted(object sender,
                    ServiceReference1.getHelloCompletedEventArgs e)
            {
                MessageBox.Show("io"+e.Result);
            }

  11. #31
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    localhost et localhost:888 ne sont pas la même chose.
    Le accesspolicy est bien accessible sur
    http://localhost:888/clientaccesspolicy.xml ?

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

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    oui, a part ça j'ai retesté l'appli plus de 5 fois et pas de "CommunicationException"...

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

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    Je viens de regarder dans fiddler et apparemment le service est appele bien qu'il ne m'affiche rien :

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    Request Count:     1
    Bytes Sent:     772    (headers:581; body:191)
    Bytes Received: 3.261    (headers:320; body:2941)
     
    ACTUAL PERFORMANCE
    --------------
    ClientConnected:    12:09:34.850
    ClientBeginRequest:    12:09:34.852
    ClientDoneRequest:    12:09:34.852
    Gateway Determination:    0ms
    DNS Lookup:         0ms
    TCP/IP Connect:        0ms
    HTTPS Handshake:    0ms
    ServerConnected:    12:09:34.850
    FiddlerBeginRequest:    12:09:34.852
    ServerGotRequest:    12:09:34.852
    ServerBeginResponse:    12:09:34.852
    ServerDoneResponse:    12:09:34.852
    ClientBeginResponse:    12:09:34.852
    ClientDoneResponse:    12:09:34.853
     
        Overall Elapsed:    00:00:00.0010000
     
    RESPONSE CODES
    --------------
    HTTP/200:     1
     
    RESPONSE BYTES (by Content-Type)
    --------------
    application/wsdl+xml:    2.941
               ~headers~:    320
     
    ESTIMATED WORLDWIDE PERFORMANCE
    --------------
    The following are VERY rough estimates of download times when hitting servers based in WA, USA.
     
     
    US West Coast (Modem - 6KB/sec)
    ---------------
    Round trip cost: 0,10s
    Elapsed Time:     0,10s
     
     
    Japan / Northern Europe (Modem)
    ---------------
    Round trip cost: 0,15s
    Elapsed Time:     0,15s
     
     
    China (Modem)
    ---------------
    Round trip cost: 0,45s
    Elapsed Time:     0,45s
     
     
    US West Coast (DSL - 30KB/sec)
    ---------------
    Round trip cost: 0,10s
    Elapsed Time:     0,10s
     
     
    Japan / Northern Europe (DSL)
    ---------------
    Round trip cost: 0,15s
    Elapsed Time:     0,15s
    mon getHelloCompleted est-il ok ?

    Ah oui, j'oubliais de dire... J'ai réassigner autrement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    proxyMonWebService.getHelloCompleted += new EventHandler<ServiceReference1.getHelloCompletedEventArgs>(service_getHelloCompleted);

  14. #34
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    C'est peut être le webservice qui retourne rien? ou bien une exception que SL ne sait pas interpreter?

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

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    Dans les tests php que j'ai fait, le webservice retournait bien une valeur étrangement.

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

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    Apres avoir repointer sur mon service distant pour test j'ai maintenant un ProtocolException

    The content type text/plain of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: '<?xml version="1.0"?>
    <!-- partie 1 : Definitions -->
    <definitions name="HelloYou"
    et en local j'ai bien un retour ... fiddler me dit ceci :

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><getHello xmlns="urn:HelloYou"><prenom xmlns="">nom</prenom><nom xmlns="">prenom</nom></getHello></s:Body></s:Envelope>
    Mais il n'execute pas mon messageBox

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

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    Apres avoir tester mon script local plusieurs fois j'ai maintenant un ProtocolException aussi

    The content type application/wsdl+xml of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were:
    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
    '<?xml version="1.0"?>
    <!-- partie 1 : Definitions -->
    <definitions      name="HelloYou" 
                  targetNamespace="urn:HelloYou" 
                  xmlns:typens="urn:HelloYou" 
                  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/">
     
            <!-- partie 2 : Types-->
    <types>
            <xsd:schema       xmlns="http://www.w3.org/2001/XMLSchema" 
                          targetNamespace="urn:HelloYou">
            </xsd:schema>
     </types> 
     
     
            <!-- partie 3 : Message -->
            <message name="getHelloRequest">
                    <part name="prenom" type="xsd:string"/>
                    <part name="nom" type="xsd:string"/>
            </message>
            <message name="getHelloResponse">
                    <part name="return" type="xsd:string"/>
    '
    .
    qui pointe sur le code de Reference.cs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                public string EndgetHello(System.IAsyncResult result) {
                    object[] _args = new object[0];
                    string _result = ((string)(base.EndInvoke("getHello", _args, result)));
                    return _result;
                }

  18. #38
    Membre actif Avatar de freezer08
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Février 2011
    Messages : 59
    Par défaut
    Tu devrais tenter d'appeler ton web service avec le WcfTestClient. Si ça fonctionne, il s'agit peut-être d'un soucis de compatibilité Silverlight - Web Services.

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

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    Avec WCF test client, en local j'ai ceci

    Error: Cannot import wsdl:bindingDetail: The WSDL binding named HelloYouBinding is not valid because no match for operation getHello was found in the corresponding portType definition.XPath to Error Source: //wsdl:definitions[@targetNamespace='urn:HelloYou']/wsdl:binding[@name='HelloYouBinding']Error: Cannot import wsdl:portDetail: There was an error importing a wsdl:binding that the wsdl:port is dependent on.XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='urn:HelloYou']/wsdl:binding[@name='HelloYouBinding']XPath to Error Source: //wsdl:definitions[@targetNamespace='urn:HelloYou']/wsdl:service[@name='HelloYouService']/wsdl:port[@name='HelloYouPort']

  20. #40
    Membre actif Avatar de freezer08
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Février 2011
    Messages : 59
    Par défaut
    Dans ce cas, tu as ta réponse : le wsdl est mal formatté. Il faut voir ce qui cloche côté web services ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Probleme Appel webservice 4D 2003
    Par maveric dans le forum 4D
    Réponses: 4
    Dernier message: 28/09/2006, 16h39
  2. [Eclipse 3.1][Tomcat][Axis]Probleme execution WebService
    Par beZor dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 08/02/2006, 13h55
  3. [VB.Net] Problème appel fonction par un bouton
    Par balibo dans le forum ASP.NET
    Réponses: 4
    Dernier message: 25/11/2005, 10h48
  4. Probleme de connection distante
    Par scaleo dans le forum Outils
    Réponses: 3
    Dernier message: 16/09/2005, 17h55
  5. [MFC] débutant probleme appel de fonction
    Par Gloubi99 dans le forum MFC
    Réponses: 9
    Dernier message: 30/08/2005, 15h40

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