2017-08-31 4 views
0

Je développe un projet qui appelle plusieurs méthodes de services Web à partir de Dynamics Nav. Il utilise une requête SOAP et envoie une réponse xml pour faire l'appel.C# Dynamics Nav WebService impossible d'obtenir l'autorisation

Je suis incapable d'authentifier auprès du service Web que je reçois la réponse suivante:

    réponse
  • {StatusCode: 401, ReasonPhrase: 'non autorisés', Version: 1.1, Contenu: System.Net .Http.StreamContent, en-têtes: { date: Thu, 31 août 2017 08:12:15 GMT serveur: Microsoft-HTTPAPI/2.0 WWW-Authenticate: Negotiate Content-Length: 0 }} System.Net. Http.HttpResponseMessage

Mon exemple de code d'informations d'identification est:

var credentials = Encoding.ASCII.GetBytes(usuarioText + ":" + passText); 
client.DefaultRequestHeaders.Authorization = new 
    AuthenticationHeaderValue("Windows", Convert.ToBase64String(credentials)); 

J'ai besoin d'authentification Windows pour appeler le service de navigation, je pense que je fais quelque chose de mal à envoyer les lettres de créance ...

Répondre

1

Si le service Le niveau est configuré pour utiliser l'authentification Windows. Il existe deux façons d'authentifier le service Web Dynamics NAV.

Utilisation de vos informations d'identification actuelles:

// Creates instance of service and sets credentials. 
Customer_Service service = new Customer_Service(); 
service.UseDefaultCredentials = true; 

ou le réglage de vérification des pouvoirs (par exemple de configuration):

// Creates instance of service and sets credentials. 
Customer_Service service = new Customer_Service(); 
service.UseDefaultCredentials = false; 
service.Credentials = new NetworkCredential("username", "password", "domain"); 

Plus sur MSDN: Walkthrough: Registering and Using a Page Web Service (SOAP)