Bonjour,
Je suis en train de tester un dispositif visant a un interrogé un webservice présent en local avec du php (c'est un peu tordu je sais)
J'ai cru comprendre que je pouvais faire via une "application du service WCF" mon webservice

J'ai crée le projet "application du service WCF" avec les fonctions de bases auxquels j'ai rajouter une fonction phrase qui renvoi "bonjour" (histoire de pas avoir de problème avec le passage de paramètres )

L'acces au WDSL fonctionne
en revanche l'appel d'une fonction pose problème
J'ai tester avec soapui et avec ce code php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<?php
try {
  $client = new SoapClient('http://localhost:63515/Service1.svc?wsdl');
  $return = $client->phrase();
  print 'Message received: ' . $return;
} catch (Exception $e) {
  print 'Caught exception: ' . $e->getMessage() ;
}
?>
A l'affichage j'obtiens

Caught exception: Unsupported Media Type

et sur soapui
<s:Text xml:lang="fr-FR">Impossible de traiter le message. Vraisemblablement l’action «*http://tempuri.org/IService1/phrase*» est incorrecte, ou le message contient un jeton de contexte de sécurité expiré ou non valide, ou il y a une incompatibilité entre les liaisons. Le jeton de contexte de sécurité deviendra caduque si le service abandonne le canal en raison d’une inactivité. Pour empêcher le service d’interrompre prématurément des sessions inactives, augmentez le délai d’attente de réception sur la liaison du point de terminaison du service.</s:Text>


EDIT: SOLUTION
apres moults recherches voici la solution
dans le web.config
remplacer wsHttpBinding par basicHttpBinding

pour obtenir quelque chose comme suit:


<service name="WcfService1.Service1" behaviorConfiguration="WcfService1.Service1Behavior">
<!-- Service Endpoints -->
<endpoint address="" binding="basicHttpBinding" contract="WcfService1.IService1">