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:
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):
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:
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
_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
1 2
| If Type = BDDType.Service Then
Return _service.GetNextID(field, table) |
Partager