Bonjour,
Je dois récupérer des infos depuis Oracle CRM OnDemand, grâce à leurs Web Services (SOAP). J'arrive à me connecter à l'url sécurisé pour obtenir le SessionID et le cookie.
Ensuite le problème c'est qu'Oracle ne fournit pour chaque Web Service, qu'un simple fichier WSDL, et je n'arrive pas à en faire quelque chose d'utilisable.
J'ai cherché sur Internet, et je trouve des articles montrant comment utiliser l'outil en ligne de commande svcutil.exe, qui permet de générer l'interface du WebService.
Je me retrouve donc avec un fichier "Opportunity_WS_10.wsdl", un fichier "Opportunity.cs" et un fichier "output.config".
Le fichier "Opportunity.cs" contient l'interface suivante :
Ainsi que diverses classes, telles que :
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
41
42
43
44
45
46 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] [System.ServiceModel.ServiceContractAttribute(Namespace="urn:crmondemand/ws/opportunity/10/2004", ConfigurationName="Default_Binding_Opportunity")] public interface Default_Binding_Opportunity { // CODEGEN: Generating message contract since the operation OpportunityUpdate is neither RPC nor document wrapped. [System.ServiceModel.OperationContractAttribute(Action="document/urn:crmondemand/ws/opportunity/10/2004:OpportunityUpdate", ReplyAction="*")] [System.ServiceModel.XmlSerializerFormatAttribute()] OpportunityUpdateResponse OpportunityUpdate(OpportunityUpdateRequest request); // CODEGEN: Generating message contract since the operation OpportunityUpdateChild is neither RPC nor document wrapped. [System.ServiceModel.OperationContractAttribute(Action="document/urn:crmondemand/ws/opportunity/10/2004:OpportunityUpdateChild", ReplyAction="*")] [System.ServiceModel.XmlSerializerFormatAttribute()] OpportunityUpdateChildResponse OpportunityUpdateChild(OpportunityUpdateChildRequest request); // CODEGEN: Generating message contract since the operation OpportunityDeleteChild is neither RPC nor document wrapped. [System.ServiceModel.OperationContractAttribute(Action="document/urn:crmondemand/ws/opportunity/10/2004:OpportunityDeleteChild", ReplyAction="*")] [System.ServiceModel.XmlSerializerFormatAttribute()] OpportunityDeleteChildResponse OpportunityDeleteChild(OpportunityDeleteChildRequest request); // CODEGEN: Generating message contract since the operation OpportunityInsert is neither RPC nor document wrapped. [System.ServiceModel.OperationContractAttribute(Action="document/urn:crmondemand/ws/opportunity/10/2004:OpportunityInsert", ReplyAction="*")] [System.ServiceModel.XmlSerializerFormatAttribute()] OpportunityInsertResponse OpportunityInsert(OpportunityInsertRequest request); // CODEGEN: Generating message contract since the operation OpportunityQueryPage is neither RPC nor document wrapped. [System.ServiceModel.OperationContractAttribute(Action="document/urn:crmondemand/ws/opportunity/10/2004:OpportunityQueryPage", ReplyAction="*")] [System.ServiceModel.XmlSerializerFormatAttribute()] OpportunityQueryPageResponse OpportunityQueryPage(OpportunityQueryPageRequest request); // CODEGEN: Generating message contract since the operation OpportunityInsertOrUpdate is neither RPC nor document wrapped. [System.ServiceModel.OperationContractAttribute(Action="document/urn:crmondemand/ws/opportunity/10/2004:OpportunityInsertOrUpdate", ReplyAction="*")] [System.ServiceModel.XmlSerializerFormatAttribute()] OpportunityInsertOrUpdateResponse OpportunityInsertOrUpdate(OpportunityInsertOrUpdateRequest request); // CODEGEN: Generating message contract since the operation OpportunityDelete is neither RPC nor document wrapped. [System.ServiceModel.OperationContractAttribute(Action="document/urn:crmondemand/ws/opportunity/10/2004:OpportunityDelete", ReplyAction="*")] [System.ServiceModel.XmlSerializerFormatAttribute()] OpportunityDeleteResponse OpportunityDelete(OpportunityDeleteRequest request); // CODEGEN: Generating message contract since the operation OpportunityInsertChild is neither RPC nor document wrapped. [System.ServiceModel.OperationContractAttribute(Action="document/urn:crmondemand/ws/opportunity/10/2004:OpportunityInsertChild", ReplyAction="*")] [System.ServiceModel.XmlSerializerFormatAttribute()] OpportunityInsertChildResponse OpportunityInsertChild(OpportunityInsertChildRequest request); }
Etc.
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("svcutil", "4.0.30319.1")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:crmondemand/ws/opportunity/10/2004")] public partial class OpportunityWS_OpportunityUpdate_Input { ... } [System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "4.0.30319.1")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:crmondemand/ws/opportunity/10/2004")] public partial class OpportunityWS_OpportunityQueryPage_Input { ... }
Ma question est donc de savoir comment faire pour la suite ? Qu'est-ce que je dois faire de cette interface ? Comment communiquer avec le WebService d'Oracle ?
Merci par avance pour votre aide.
Partager