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

C# Discussion :

authentification Web Service depuis c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Par défaut authentification Web Service depuis c#
    Bonjour,

    je n'arrive pas a ma connecter a mon webservice en mode authentifié.

    Mon webservice en fait un EJB du un serveur weblogic.

    j'arrive a comuniqué avec via java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	ServiceDomaineBeanSecureService service = new ServiceDomaineBeanSecureService();
    			ServiceDomaineBeanSecure port =service.getServiceDomaineBeanSecurePort();			
    			BindingProvider bp = (BindingProvider) port;
    			bp.getBinding();
     
    			Map<String, Object> ctx = bp.getRequestContext();
    			ctx.put(BindingProvider.USERNAME_PROPERTY, "utilisateur1");
    			ctx.put(BindingProvider.PASSWORD_PROPERTY, "utilisateur1");
     
     
    			long retour = port.createDeal(texteUtilisateur);

    par contre via c# pas du tout (j'ai un autre service sans auhtentification avec qui j'arrive bien a communiquer)

    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
    private void cmd_webservice_Click(object sender, EventArgs e)
            {
     
                POCWSSECURE.ServiceDomaineBeanSecureClient ws;
     
                long id = 0;
                ws = new POCWSSECURE.ServiceDomaineBeanSecureClient();
     
     
             cred.UserName.UserName = "utilisateur1";
             cred.UserName.Password = "utilisateur1";
     
     
                ws.Open();
                id = ws.createDeal("Bruno");
                ws.Close();
                txt_dealid.Text = id.ToString();
     
            }

    et j'ai une erreur FaultException
    detail :
    [EJB:010160]Security Violation: User: '<anonymous>' has insufficient permission to access EJB: type=<ejb>, application=testWSAnnot, module=testWSAnnot.jar, ejb=ServiceDomaineBeanSecure, method=createDeal, methodInterface=ServiceEndpoint, signature={java.lang.String}.

    j'ai essayer avec tous les élément UserNames de mon service
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cred.HttpDigest.ClientCredential.UserName = "utilisateur1";
    cred.HttpDigest.ClientCredential.Password = "utilisateur1";
    cred.HttpDigest.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
    marche pas


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cred.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;
    cred.Windows.ClientCredential.UserName = "utilisateur1";
    cred.Windows.ClientCredential.Password = "utilisateur1";
    non plus

    je suis dans le flou total

  2. #2
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Par défaut
    probleme d'interopérabilité entre .net et weblogic


    http://download.oracle.com/docs/cd/E...59/interop.htm

    donc du coup j'ai creer ma propre requete http

    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
     
     Uri uri = new Uri("http://FXP-350:7001/ServiceDomaineBeanSecure/ServiceDomaineBeanSecureService");
                string data = "<?xml version='1.0' encoding='utf-8'?>" +
    		    		"<S:Envelope xmlns:S=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
    		    		"<S:Body><ns2:createDeal xmlns:ns2=\"http://service.poweo.com/\">" +
    		    		"<arg0>pastek.NET "+DateTime.Today+"  </arg0></ns2:createDeal></S:Body></S:Envelope>"; 
     
     
                if (uri.Scheme == Uri.UriSchemeHttp)
                {
                    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
                    request.Method = WebRequestMethods.Http.Post;
                    request.ContentLength = data.Length;
                    request.ContentType = "text/xml; charset=\"utf-8\"";
                    request.Headers.Add("Authorization", "Basic dXRpbGlzYXRldXIxOnV0aWxpc2F0ZXVyMQ==");
                    StreamWriter writer = new StreamWriter(request.GetRequestStream());
     
     
     
                    writer.Write(data);
                    writer.Close();
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    StreamReader reader = new StreamReader(response.GetResponseStream()); 
                    string tmp = reader.ReadToEnd();
                    response.Close();

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

Discussions similaires

  1. authentification web service
    Par dimahoo dans le forum Sécurité
    Réponses: 4
    Dernier message: 29/10/2010, 09h29
  2. Web service depuis un fichier wsdl
    Par pere_noel00 dans le forum Services Web
    Réponses: 1
    Dernier message: 10/07/2009, 15h27
  3. Authentification web services
    Par tit_nouveau dans le forum Glassfish et Payara
    Réponses: 0
    Dernier message: 19/08/2008, 01h44
  4. Réponses: 0
    Dernier message: 17/07/2008, 16h29
  5. Appeler un Web Service depuis un AS/400
    Par Selden dans le forum AS/400
    Réponses: 3
    Dernier message: 02/05/2008, 17h07

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