Bonjour,

j'aimerais pouvoir appeler des fonctions de mon service WCF via JQuery. Complétement débutant dans le web, je récupère des messages d'erreurs en pagaille.

Voici mon interface de mon WCF
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
[ServiceContract]
    public interface IServiceAccesDonnees
    {
        [OperationContract]
        string GetData(int value);
 
        [OperationContract]
        CompositeType GetDataUsingDataContract(CompositeType composite);
 
        [OperationContract]
        //[WebInvoke(Method = "POST",BodyStyle = WebMessageBodyStyle.Wrapped,ResponseFormat = WebMessageFormat.Xml)]
        string load();
 
        // TODO: ajoutez vos opérations de service ici
    }
Voici le .cs de mon WCF
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
public class ServiceAccesDonnees : IServiceAccesDonnees
    {
        public string GetData(int value)
        {
            return string.Format("You entered: {0}", value);
        }
 
        public string load()
        {
            //string[] tab = new string[3];
            //tab[0] = "test";
            //tab[1] = "toto";
            //tab[2] = "tata";
            return "toto";
        }
    }
J'ai un serviceWeb contenant le svc de mon WCF

le svc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<%@ ServiceHost Language="C#" Debug="true" Service="GalysTab_WcfAccesDonnees.ServiceAccesDonnees" %>
Mon web.config
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
<?xml version="1.0" encoding="utf-8"?>
 
<!--
  Pour plus d'informations sur la configuration de votre application ASP.NET, consultez
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
 
<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
    </system.web>
  <system.serviceModel>
    <!-- DEBUG -->
    <behaviors>
      <serviceBehaviors>
        <behavior name="MyServiceTypeBehaviors" >
          <serviceMetadata httpGetEnabled="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <!-- DEBUG -->
    <services>
      <service name="GalysTab_WcfAccesDonnees.ServiceAccesDonnees" behaviorConfiguration="MyServiceTypeBehaviors">
        <endpoint address="http://localhost:59622/ServiceAccesDonnees.svc" binding="basicHttpBinding" bindingConfiguration="Basic_Unsecured" contract="GalysTab_WcfAccesDonnees.IServiceAccesDonnees" name="BasicHttp_IServiceAccesDonnees"/>
      </service>
    </services>
    <bindings>
      <basicHttpBinding>
        <binding name="Basic_Unsecured" maxBufferPoolSize="2072576" maxReceivedMessageSize="2072576" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">
          <readerQuotas maxArrayLength="2072576"/>
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
            <message clientCredentialType="UserName" algorithmSuite="Default"/>
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client/>
  </system.serviceModel>
</configuration>
Et voici mon code js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
function test() {
    var restURL = 'http://localhost:59622/ServiceAccesDonnees.svc/load';
 
    $.getJSON(restURL, function (data) {
        alert("toto");
    });
}
Et voici mon message d'erreur : J'ai eu aussi un
unsupported media 415
J'ai lus beaucoup de doc et de tuto mais je n'ai pas trouvé de choses assez claire vus mes compétences. Si quelqu'un pouvait faire quelque chose pour moi ...
Merci d'avance.