Bonjour à tous.
Je développe sous vs 2010, framework 3.5.
Un partenaire expose un web service sous forme d'un fichier WSDL. Il est développé en JAVA.
J'ai créé un projet et une classe proxy d'accès à ce web service. J'ai rajouté à ce projet, en tant que "Web reference" mon fichier WSDL. Mon proxy a donc accès aux méthodes du web service et aux objets fournit pas ce web service, définie dans le fichier reference.cs généré automatiquement. Quelque exemples :
Définition du webservice
Définition d'un des types
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name="MyWebServiceSoapBinding", Namespace="http://www.mywebservice.com/XML/output/6.1.0")] public partial class MyWebServiceService : System.Web.Services.Protocols.SoapHttpClientProtocol ...
Je veux pouvoir mettre la définition des classes de mon web service dans une assembly à part afin de la partager dans le code.
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 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.mywebservice.com/XML/output/6.1.0")] public partial class page { private info infoField; /// <remarks/> public info info { get { return this.infoField; } set { this.infoField = value; } } ...
J'ai donc fait un copier/coller du fichier reference.cs et l'ai ajouté dans une nouvelle dll. J'ai référencé cette nouvelle dll dans ma classe proxy, j'ai supprimé mon webservice et je l'ai ajouté à nouveau, cette fois en cochant l'option "Reuse types in all referenced assemblies".
Mais le fichier reference.cs se régénère toujours de la même façon, avec la définition de tous les types.
On m'a conseillé d'ajouter les attributs DataContract et DataMember sur les classes et le membres de ces classes et de regénéré le fichier reference.cs, mais aucun effet : le fichier généré contient toujours toutes les descriptions des types.
Quelqu'un aurait une idée de comment faire ?
Merci !
Coridalement,
Partager