Salut à tous,

J'aimerai utiliser un webservice dans le but de l'utiliser en tant que passerelle via un service d'alimentation déjà existant.
Je vous expose ma solution, voir si cela est réalisable.

Par exemple, j'aimerai exposer cette méthode de ma classe connexion à mon service:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Public Function GetNextID(ByVal field As String, ByVal table As String) As String
        Dim res As String = "1"
        If _type = BDDType.Oracle Then
            Return GetFirstValue("SELECT IDENTIFIANT.NEXTVAL FROM DUAL")
        ElseIf _type = BDDType.SQLServer Then
            Dim dtNow As DateTime = Now
            If Not IsConnected Then
                Return ""
            End If
 
(...)
Pas de problème pour ça, je sais faire.
Pour l'utiliser, il faudra que je passe par une classe proxy, instancier un objet et utiliser cette méthode sur cet objet. Ca fonctionne bien.

Cependant, j'aimerai faire fonctionner ce service dans l'autre sens.
Dans ma classe de connexion, j'ai également ce code (je ne mets que l'essentiel):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Enum BDDType
        NA
        Oracle
        SQLServer
        ODBC
    End Enum
 
Public Shared BDDTypeText() As String = {"NA", "Oracle", "SQL Server", "ODBC"}

J'aimerai la modifier de cette sorte:
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
Enum BDDType
        Service
        NA
        Oracle
        SQLServer
        ODBC
    End Enum
 
Public Shared BDDTypeText() As String = {"Service", "NA", "Oracle", "SQL Server", "ODBC"}
 
 
Public Function GetNextID(ByVal field As String, ByVal table As String) As String
        Dim res As String = "1"
        If Type = BDDType.Service Then
            Return _service.GetNextID(field, table)
        ElseIf _type = BDDType.Oracle Then
            Return GetFirstValue("SELECT IDENTIFIANT.NEXTVAL FROM DUAL")
        ElseIf _type = BDDType.SQLServer Then
            Dim dtNow As DateTime = Now
            If Not IsConnected Then
                Return ""
            End If
En gros, j'ajoute mon service en tant que type de BDD (même si ça n'en ait pas une, ce n'est pas grave) et dans ma méthode je rajoute une condition si le type de BDD vaut "mon service".

De cette façon, dans toutes les autres méthodes de n'importe quelle classe où sera utilisé un attribut de connexion (par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 _strIdeBdd = _connexMa.GetNextID("IDE_BDD", "T_BDD")
), je pourrai appliquer la méthode GetNextID à _connexMa, qui fonctionnera grâce à mon webservice.

Est-ce réalisable ?
D'avance merci pour vos conseils

Bonne journée à tous.

PS: si besoin de plus d'informations, n'hésitez pas

Edit
Comment faire comprendre que ma méthode GetNextID est localisé sur mon webservice ?

Lorsque j'utilise cette instruction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
If Type = BDDType.Service Then
            Return _service.GetNextID(field, table)