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

VB.NET Discussion :

VB.NET : s'authentifier sur un webserice ws-security


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 57
    Par défaut VB.NET : s'authentifier sur un webserice ws-security
    Bonjour,

    j'ai écumé le net pour comprendre comment s'authentifier sur un webservice ws-security, mais en vain! quelqu'un pourrait-il m'expliquer svp ?

    Un grand merci !

    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    Dim service As New LeWebService.WebServiceSystemeUImplService 
    Dim enregistrementOK As New LeWebService.PlanificationResponse
    Dim monTableau(5) As LeWebservice.PlanificationType
     
    '[....]
     
     
     
    'on appel le WS
    service.Credentials = New System.Net.NetworkCredential("LOGIN","PWD")
    enregistrementOK = service.planificationProcess (monTableau)
    et j'ai un message d'erreur du style

    System.Web.Services.Protocols.SoapHeaderException: These policy alternatives can not be satisfied:
    {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}SupportingTokens
    {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}UsernameToken

    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 57
    Par défaut
    Voici ce que j'ai fait ce matin :

    1)

    j'ai renommé la proxy class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Class Service1
      Inherits Microsoft.Web.Services3.WebServicesClientProtocol
    End Class
    2)

    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
    Dim service As New LeWebService.WebServiceSystemeUImplService 
    Dim enregistrementOK As New LeWebService.PlanificationResponse
    Dim monTableau(5) As LeWebservice.PlanificationType
     
    '[....]
     
    Dim user As Microsoft.Web.Services3.Security.Tokens.UsernameToken
    user = New Microsoft.Web.Services3.Security.Tokens.UsernameToken("LOGIN","PWD")
    Dim serviceProxy As New Service1()
    Dim requestContext As SoapContext = serviceProxy.RequestSoapContext
    requestContext.Security.Timestamp.TtlInSeconds = 60
    requestContext.Security.Tokens.Add(user)
     
    'on appel le WS
    enregistrementOK = service.planificationProcess (monTableau)
    Mon message d'erreur est le suivant "webservicebindingattribute is required on proxy classes"

    Savez vous quel est le pb ?

    merci.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je ne suis pas un expert dans ce domaine, dans un autre projet, j'ai pourtant dû passer par là. Je te met un bout de mon code dans ce que j'avais fait, en espérant que cela résoudra ton problème:

    Code VB : 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
     
            Dim userName As String = 'xxxxxx'
            Dim pwd As String = 'xxxxxx'
     
            System.Net.ServicePointManager.UseNagleAlgorithm = True
            System.Net.ServicePointManager.Expect100Continue = False
            System.Net.ServicePointManager.CheckCertificateRevocationList = True
     
            Dim ws As New Production.billServiceClient
     
            ws.ClientCredentials.CreateSecurityTokenManager()
            ws.ClientCredentials.UserName.UserName = userName
            ws.ClientCredentials.UserName.Password = pwd
     
            ws.Open()
            'ton code
            ws.close()

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 57
    Par défaut
    merci pour ton retour. Je ne suis pas non plus un spécialiste dans ce domaine. J'ai testé ton bout de code mais je n'ai pas accès à ClientCredentials sur mon service

  5. #5
    Invité
    Invité(e)
    Par défaut
    N'ayant pas le service sous les yeux, je ne saurais quoi dire de plus...

    En faisant
    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim serviceProxy As New Service1()

    Tu as quoi comme propriété / méthode?

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 57
    Par défaut
    En fait j'ai du mal à comprendre à quoi correspond

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Class Service1
      Inherits Microsoft.Web.Services3.WebServicesClientProtocol
    End Class
     
     
    Dim serviceProxy As New Service1()
    donc d'une part j'ai serviceProxy, et d'autre part j'ai service
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim service As New LeWebService.WebServiceSystemeUImplService
    quelle est la différence?

Discussions similaires

  1. [VB.net] Bug submit sur champ de saisie
    Par addicts dans le forum ASP.NET
    Réponses: 8
    Dernier message: 12/07/2006, 10h57
  2. détected si .net est present sur la machine
    Par calfater dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 08/09/2005, 22h11
  3. [VB.NET] Erreur OnMouseUp sur Datagrid
    Par daner06 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/01/2005, 10h26
  4. [VB.NET] Connexion distante sur serveur UNIX
    Par Toftof dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/06/2004, 17h18
  5. [VB.NET] Instanciation objet (sur class perso.)
    Par DaxTaz dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/05/2004, 11h07

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