Bonjour à tous,
Dans le cadre de mon stage, je dois réaliser un Web Service.
J'ai donc ajouté un projet WCF à la solution (contenant déjà plusieurs projets) existante. J'ai développé mon WS, mon application compile, j'accède au répertoire de mon WS (grâce à un serveur IIS 8) sur le net et quand je clique sur WebService.svc j'ai un message d'erreur qui apparaît :
Impossible d'ajouter DataContract pour le type 'MonType1' à DataContractSet puisque le type 'MonType2' portant le même nom de contrat de données 'Parcelle' dans l'espace de noms 'MonNamespace' est déjà présent et que les contrats ne sont pas équivalents.
IWebServices.cs :
WebServices.svc.cs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 namespace PositifGraphic_WS { [ServiceContract] public interface IWebServices { [OperationContract] List<ParcelleRisque> GetParcelles(int idAgriculteur); [OperationContract] int GetAgriculteurIdByAnthentication(string login_site, string nom); } }
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 namespace PositifGraphic_WS { public class WebServices : IWebServices { public List<ParcelleRisque> GetParcelles(int idAgriculteur) { List<PAR_PARCELLE> parcelleslinq = ParcelleBusinessLogic.LireParcellesGeographiqesParAgriculteurSaufVigne(idAgriculteur); //Conversion en objet métier : c'est là qu'on récupère les résultats des simulations associées. List<ParcelleRisque> parcellesagriculteur = ParcelleRisque.CreerObjetMetier(parcelleslinq); List<ParcelleRisque> parcellesAvecRisque = parcellesagriculteur.Where(p => p.RisquePrev != null && p.RisqueReel != null).ToList(); return parcellesAvecRisque; } public int GetAgriculteurIdByAnthentication(string login_site, string nom) { string idAgriculteur = AgriculteurBusinessLogic.GetAgriculteurIdByAuthentication(login_site, nom); return Convert.ToInt32(idAgriculteur); } } }
J'ai fait et refait 3 fois mon fichier de config et ça fait deux jours que je bloque dessus. J'ai beau eu essayé de parcourir le net mais je n'ai rien trouvé d'utile...
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 <?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> </appSettings> <system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5"/> </system.web> <system.webServer> <modules runAllManagedModulesForAllRequests="true"/> <directoryBrowse enabled="true"/> </system.webServer> <system.serviceModel> <services> <service name="PositifGraphic_WS.WebServices" behaviorConfiguration="mexBehaviour"> <endpoint address="WebServices" binding="basicHttpBinding" contract="PositifGraphic_WS.IWebServices"> </endpoint> <host> <baseAddresses> <add baseAddress="http://localhost:50819"/> </baseAddresses> </host> </service> </services> <behaviors> <serviceBehaviors> <behavior name="mexBehaviour"> <serviceMetadata httpsGetEnabled="true" httpGetEnabled ="true"/> <serviceDebug includeExceptionDetailInFaults="true" /> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> </configuration>
Pour information, je travaille sous Visual Studio Premium 2013, Framework 4.5 et je suis sous Windows 8.1 Professionnel N.
Si vous avez des idées, je suis preneur...
Merci d'avance.
Cordialement,
Clemou01
Partager