Essayer de suivre cet exemple pour faire fonctionner: http://weblogs.asp.net/kiyoshi/archive/2008/10/08/wcf-using-webhttpbinding-for-rest-services.aspxWebHttpBinding dans WCF: comment le configurer correctement?
Voici mon App.config
:
<system.serviceModel>
<services>
<!-- The service for the TEST WEB client -->
<service name="MyServer.AAServiceType" behaviorConfiguration="Default">
<endpoint address="testservice"
binding="webHttpBinding" behaviorConfiguration="webBehavior"
contract="MyServer.AAIContractName" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8787/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<!-- TEST WEB BEHAVIOR -->
<behavior name="Default">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
<!-- TEST WEB ENDPOINT -->
<endpointBehaviors>
<behavior name="webBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
Mise à jour: Le contrat de service est:
namespace MyServer
{
[ServiceContract(SessionMode=SessionMode.NotAllowed)]
public interface IContractName
{
[WebGet(UriTemplate = "date/{year}/{month}/{day}", ResponseFormat = WebMessageFormat.Xml)]
[OperationContract]
string GetDate(string day, string month, string year);
}
public class ServiceType : IContractName
{
public string GetDate(string day, string month, string year)
{
return new DateTime(Convert.ToInt32(year), Convert.ToInt32(month), Convert.ToInt32(day)).ToString("dddd, MMMM dd, yyyy");
}
}
}
Le problème est que lorsque J'essaie de me connecter au port 8787 (en utilisant putty
, par exemple) un "Connexion refusée" erreur est retournée. Comme vous pouvez le voir, j'ai également essayé de mettre les mauvais noms dans la classe de contrat et la mise en œuvre du service et n'a obtenu aucune exception. Qu'est-ce que je fais de mal, s'il vous plait?
Pouvez-vous nous montrer votre contrat de service? Quel type de modèle d'URL spécifiez-vous? –
Bien sûr. Veuillez voir la mise à jour. Également arrêté l'IIS installé localement (via la console d'interface utilisateur) pour s'assurer que personne n'intercepte les requêtes HTTP. – BreakPhreak
D'accord, problème trouvé - fourni la réponse de la mienne. – BreakPhreak