Bonjour,

J'ai un service qui marche et qui recoit et traite des message de la forme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<?xml version="1.0" encoding="utf-8"?>
<wfs:GetFeature>
</wfs:GetFeature>
ou

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
<wfs:GetFeature>
</wfs:GetFeature>
Je dois le faire évoluer pour recevoir et traiter des messages encodé en iso-8859-1. Car lorsque j'envoi un tel message sur mon service rien ne se passe.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<?xml version="1.0" encoding="iso-8859-1"?>
<wfs:GetFeature>
</wfs:GetFeature>
Il semblerait que ce ne soit pas directement possible http://weblogs.asp.net/tmarman/66476

Mais que des solutions de contournement existent
http://stackoverflow.com/questions/1...oding-from-wcf

J'essaye donc de procéder de la sorte mais n'y arrive pas.

J'ai téléchargé les projets cités dans le lien ci-dessus, je les ai chargé et référencés dans ma solution mais dans mon fichier web.config je n'arrive peux utiliser la balise "customTextMessageEncoding" (invalid child element for binding)

Quelqu'un a-t-il déjà été confronté à ce problème et/ou utilisé cette solution?


Voici comment est configuré mon service actuellement (en tout cas ce que j'en ai compris car ce n'est pas moi qui l'ait créé).

Dans ma solution j'ai un fichier global.asax qui est chargé d'initialiser mon service avec la méthode Application_Start() qui appelle la méthode RegisterRoute()

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
    private void RegisterRoutes()
    {
        WebServiceHostFactory factory = new WebServiceHostFactory();
        RouteTable.Routes.Add(new ServiceRoute("", factory, typeof(UserServices)));
        logger.Info("base REST route registered");
    }
et dans mon fichier web.config j'ai:

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
 
    <bindings>
      <wsHttpBinding>
        <binding name="SecureBinding">
          <security mode="Message">
            <message clientCredentialType="UserName" />
          </security>
        </binding>
        <binding name="UnsecureBinding" />
      </wsHttpBinding>
    </bindings>
 
...
 
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </modules>
  </system.webServer>
J'ai également un fichier UserServices.svc contenant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<%@ ServiceHost Language="C#" Debug="true" Service="UserServices" CodeBehind="~/App_Code/UserServices.cs" %>

Sisi quelqu'un a du temps pour m'expliquer et m'aider à comprendre j'en serai heureux.

Cordialement,
Christophe.