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 :

[WCF & PHP] Comment accéder à un service WCF avec un client PHP


Sujet :

Services Web

  1. #1
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut [WCF & PHP] Comment accéder à un service WCF avec un client PHP
    Bonjour,

    J'ai créé un service WCF, il marche bien et je peux y accéder avec un client .NET.

    J'ai ensuite créé un client en PHP, qui fonctionne aussi et qui utilise la classe SoapClient du module SOAP de PHP.

    Et là, quand je tente d'accéder à mon service WCF, j'ai une erreur qui me dit :
    Uncaught SoapFault exception: [a: DeserializationFailed] Le module de formatage a généré une exception en tentant de désérialiser le message.

    Cela viendrait-il de la version de SOAP utilisé par WCF ?

    Y aurait-il un moyen de configurer ça ?

    Merci pour votre aide
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  2. #2
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    D'après certains retour, ça serait à cause du targetNamespace dans la balise Definitions de mon fichier WSDL qui prend la valeur "http://tempuri.org/".

    Sachant que le wsdl est généré automatiquement, y a t-il un moyen de changer de targetNamespace ou faut-il faire le wsdl à la main ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  3. #3
    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 : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    C'est à spécifier dans l'interface du service :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        [ServiceContract(Namespace = "http://www.developpez.com/monAppli/2008/01"]
        public interface IMonService
    Vous pouvez y mettre ce que vous voulez, même s'il est d'usage d'utiliser un nom de société, d'application, etc.
    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.

  4. #4
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    Merci pour la réponse rapide, mais malheureusement cela ne marche pas dans mon cas.
    Le wsdl reste le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <wsdl:definitions name="Math" targetNamespace="http://tempuri.org/">
        <wsdl:import namespace="http://localhost/MathService" location="http://localhost:1664/MathService?wsdl=wsdl0"/>
        <wsdl:types/>
     
        <wsdl:service name="Math">
     
            <wsdl:port name="BasicHttpBinding_IMathService"  binding="i0:BasicHttpBinding_IMathService">
                <soap:address location="http://localhost:1664/MathService"/>
            </wsdl:port>
        </wsdl:service>
    </wsdl:definitions>
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

Discussions similaires

  1. Accéder à un service WCF par une page Web
    Par nicolaspasc dans le forum Windows Communication Foundation
    Réponses: 4
    Dernier message: 26/01/2012, 09h44
  2. accéder à un service wcf d'une machine distante
    Par yassine.s dans le forum Services Web
    Réponses: 5
    Dernier message: 22/06/2011, 10h50
  3. comment invoquer un service WCF héberger dans IIS?
    Par badridevelop dans le forum Services Web
    Réponses: 2
    Dernier message: 21/02/2011, 21h38
  4. Consommer un web service C# avec un client PHP
    Par legide dans le forum Services Web
    Réponses: 4
    Dernier message: 24/12/2009, 16h54
  5. Comment appeler un service WCF en httpget? par url?
    Par 404error dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/09/2009, 21h54

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