Bonjour,
Je tente d'appler un Service WCF avec JQUery dans une page ASP.NET.
Le service WCF fonctionne parfaitement quand je le référence dans une application locale que ce soit une référence au projet de service WCF dans la solution ou bien une référence au service publié sur IIS.
En revanche, pour ce qui de l'appel par JQUery, là, il y a un sérieux os.
Voici le code d'appel javascript
le code de la définition de l'opération dans l'interface du service
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 $.ajax({ type: "POST", url: "http://localhost/ServiceProjet/Service1.svc/GetData", data: {"value":"12"}, //data: '{"value":"12"}', ne donne pas de meilleurs résultats contentType: "application/json; charset=utf-8", dataType: "json", success: function(msg) { eval(msg.GetDataResult); }, error: function(xhr, status, error) { if (xhr.responseText != "") { var err = eval("(" + xhr.responseText + ")"); alert(err.Message); } } });
la partie intéressante du web.config du site
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [OperationContract] [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)] string GetData(string value);
J'arrive a utiliser des services qui sont DANS le site (App_Code) mais c'est tout.
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 <system.serviceModel> <behaviors> <serviceBehaviors> <behavior name="MonServiceBehavior"> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> </behavior> </serviceBehaviors> <endpointBehaviors> <behavior name="MonServiceBehavior"> <webHttp/> </behavior> </endpointBehaviors> </behaviors> <services> <service behaviorConfiguration="MonServiceBehavior" name="WcfService.Service1"> <endpoint address="" binding="webHttpBinding" contract="WcfService.IService1" behaviorConfiguration="MonServiceBehavior"/> </service> </services> </system.serviceModel>
J'ai regardé pas mal de site mais je sèche.
Ah oui, l'erreur c'est :
Merci de votre aide.Cannot process the message because the content type 'application/json; charset=utf-8' was not the expected type 'application/soap+xml; charset=utf-8'.
Partager