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

Visual C++ Discussion :

DLL C++, obtenir le credential "Service réseau"


Sujet :

Visual C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 25
    Points : 43
    Points
    43
    Par défaut DLL C++, obtenir le credential "Service réseau"
    Bonjour,
    Je continue ma DLL MFC C++ pour consommer les webservices Sharepoint 3.0.
    Je me heurte maintenant des des problèmes de droits.

    Mon webservice est accessible et je peux "naviguer" dessus, mais pas appeler une webmethod.

    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
     
    Lists::CLists * wsLists = new Lists::CLists(NULL);
     
    CNTLMAuthObject authCurrentUser;
    CString theName;
    int status =0;
     
    wsLists->m_socket.AddAuthObj(ATL_HTTP_AUTHTYPE_NTLM, &authCurrentUser);
    wsLists->m_socket.NegotiateAuth(false);
    wsLists->SetProxy(0, 80);
     
    wsLists->SetUrl(L"http://serveur/_vti_bin/Lists.asmx");
     
    wsLists->m_socket.Navigate( L"http://serveur/_vti_bin/Lists.asmx", &navData );
    status = wsLists->GetStatusCode(); // CODE 200, TOUT VA BIEN
    bstrUpdateListTiemsresult = new BSTR();
    bstrListName = SysAllocString(L"{11A99976-E40D-480F-AA79-29BA6E111683}");
    bstrUpdates = SysAllocString(PrepaParam());
    wsLists->UpdateListItems(bstrListName, bstrUpdates, bstrUpdateListTiemsresult);
    status = wsLists->GetStatusCode(); // CODE 401, C'EST LÀ MON PROBLÈME
    Je suis presque sûr qu'il me manque le credential pour "SERVICE_RESEAU" puisque qu'en C#, j'ai la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NetworkCredential identifiant = CredentialCache.DefaultNetworkCredentials;
    Mais c'est du C# et je peine à trouver quelque chose d'équivalent ici

    Une idée, une solution ?
    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 200
    Points : 12 354
    Points
    12 354
    Par défaut
    Utiliser un proxy HTTP comme fiddler (http://www.fiddler2.com/fiddler2/).

    Comparez les traces HTTP entre la solution en C# et celle en C++.

    Utilisez un sniffer réseaux s'il y a un problème d'authentification au niveau HTTP.

Discussions similaires

  1. [VB6] Obtenir la version du service pack
    Par GyLes dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 06/03/2006, 18h57
  2. Obtenir le nom des services qui tournent ...
    Par vbcasimir dans le forum Administration système
    Réponses: 4
    Dernier message: 21/01/2004, 18h32

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