IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Discussion :

[VB2005] Parametre dans le constructeur


Sujet :

Services Web

  1. #1
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut [VB2005] Parametre dans le constructeur
    Bonjour à tous,

    J'ai une variable (integer) qui doit être propre à un application distante.
    Plutot que de la passer dans chacune des webMethodes, j'aimerais savoir si c'est possible de la passer une fois dans le "create". Du style:
    ...Dim wsAppv As New monServeur.monWebService(maVar)
    Et qu'elle soit connue dans toute la classe ensuite.

    Admettons qu'on à 2 PC à se connecter en même temps au web service:

    PC1: Dim wsAppv As New monServeur.monWebService(1)
    PC2: Dim wsAppv As New monServeur.monWebService(2)

    PC2: wsAppv.retourneMaVar() ' Returne 2
    PC1: wsAppv.retourneMaVar() ' Returne 1

    Suis-je clair ?
    Si oui, est ce possible ?

    Merci d'avance.

  2. #2
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Je viens bien de trouver un indice:

    Code VB.Net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Sub New(ByVal maVar As Integer) ' constructeur
            MyBase.New()
            numInv = maVar
        End Sub

    Mais ça ne change rien, le client refuse de compiler malgré que j'ai mis l'appel au webservice à jour.

    Il me dit qu'il y a trop d'arguments.

    Manque t-il une manip ?

  3. #3
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Salut dacid,

    En fait ce n'est pas le web service lui même que tu instancie mais plutôt le proxy généré par l'application Client.

    Tu peux surcharger le constructeur du proxy se trouvant dans Web References. Ensuite tu peux utiliser une Méthode Web qui permet d'initialiser ton service Web en lui passant le parametre en question.

  4. #4
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    ??? Quelle surprise.

    Il faudrait donc faire:
    http://monServeur/MonFichierVirtuel/....asmx?numinv=1
    Dans la proporiété web référence du web service ?

    Le nom de la variable importe dans le constructeur ?

    J'essaye ça tout de suite.

  5. #5
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Citation Envoyé par dacid
    Il faudrait donc faire:
    http://monServeur/MonFichierVirtuel/....asmx?numinv=1
    Dans la proporiété web référence du web service ?
    Non mais qu'est-ce que tu racontes ?

    Double click sur wsAppv dans le dossier Web Reference de ta solution et la tu surcharge le constructeur du proxy.

    le proxy généré est de cette forme :

    Code VB.Net : 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
    <System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42"),  _
         System.Diagnostics.DebuggerStepThroughAttribute(),  _
         System.ComponentModel.DesignerCategoryAttribute("code"),  _
         System.Web.Services.WebServiceBindingAttribute(Name:="ServiceSoap", [Namespace]:="http://tempuri.org/")>  _
        Partial Public Class Service
            Inherits System.Web.Services.Protocols.SoapHttpClientProtocol
     
            Private HelloWorldOperationCompleted As System.Threading.SendOrPostCallback
     
            Private setNumInvOperationCompleted As System.Threading.SendOrPostCallback
     
            Private infosOperationCompleted As System.Threading.SendOrPostCallback
     
            Private useDefaultCredentialsSetExplicitly As Boolean
     
            '''<remarks/>
            Public Sub New()
                MyBase.New
                Me.Url = Global.ConsoleApplication1.My.MySettings.Default.ConsoleApplication1_localhost_Service
                If (Me.IsLocalFileSystemWebService(Me.Url) = true) Then
                    Me.UseDefaultCredentials = true
                    Me.useDefaultCredentialsSetExplicitly = false
                Else
                    Me.useDefaultCredentialsSetExplicitly = true
                End If
            End Sub

  6. #6
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Aie, voici mon constructeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Public Sub New(ByVal numInv As Integer)
            _numInv = numInv
        End Sub
    Il me dit:
    "Aucun constructeur sans parametre défini pour cet objet"

  7. #7
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Quand je double clique sur ma web référence, il m'ouvre l'explorateur d'objet...
    En aucun cas ca ne ressemble à ce que vous m'indiquez.

    Je suis en Compact Framework du VS2005.

  8. #8
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    J'ai vu...
    Il faut éditer le fichier *.vb de la web référence lui même (a travers l'explorateur).
    Désolé, ça ne m'a pas parru logique de sortir de l'interface de VS.

    Mais c'est incompatible avec ce que je veux...
    J'ai besoin de renseigner cette variable dynamiquement.
    Si j'ai mis un entier et non une variable dans mes exemples, c'est pour tester.
    Cette valeur ne sera pas toujours la même.

    Je croit que je vais me tourner vers la solution de la variable globale (qui me pose également un problème ) que je renseignerais via une méthode.
    J'ai d'ailleurs répondu à votre question du thread concerné, avez vous une autre piste ?

    Merci.

  9. #9
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Citation Envoyé par dacid
    Mais c'est incompatible avec ce que je veux...
    C'est totalement compatible avec ce que tu veux faire asser un parametre dans le constructeur. ensuite si tu as d'autres contraintes, dans ce cas c'est un autre probleme qui se pose.

  10. #10
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Oui, en effet, je me suis mal exprimé.

    Ca répond à ma question mais pas à mon besoin... C'est pourquoi j'ai mis "Résolu".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/12/2004, 16h46
  2. [langage] Passage de paramètres dans une fonction
    Par And_the_problem_is dans le forum Langage
    Réponses: 11
    Dernier message: 28/06/2004, 08h20
  3. Réponses: 5
    Dernier message: 12/05/2004, 16h37
  4. Mettre a jour les Parametres dans une requete SQL
    Par Tartar Ukid dans le forum C++Builder
    Réponses: 7
    Dernier message: 31/03/2004, 13h51
  5. Capture d'exception dans un constructeur
    Par declencher dans le forum Composants VCL
    Réponses: 8
    Dernier message: 03/02/2004, 12h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo