Momenteel moet ik even een simpele website bouwen die het volgende doet.
Vanuit het CRM systeem wordt er een aanroep gedaan naar een website met bepaalde data
Deze ziet er als volgt uit:
http://localhost:17011/Home/Index?sleutel=28934375&systeem=43&label=1 (even localhost gepakt)
Deze roept dan via een WebClient een Webservice aan welke (in dit geval) op dezelfde webserver draait
Deze vereist een inlog welke hetzelfde is als de inlog welke gebruikt wordt om de webpagina te openen.
Nu wil ik deze login automatisch doorgeven door Impersonation, echter wil dit niet echt meewerken.
Ik heb het momenteel op de volgende manieren geprobeerd:
1. client.UseDefaultCredentials = true;
2. client.Credentials = CredentialCache.DefaultCredentials;
3. client.Credentials = CredentialCache.DefaultNetworkCredentials;
Middels de volgende methode:
http://stackoverflow.com/...ls-along-with-the-request
En ook deze:
http://stackoverflow.com/...ct-for-the-logged-in-user
En nog een partij aan zoekopdrachten later ben ik nog geen steek verder.
Wellicht dat iemand hier mij erbij kan helpen?
Vanuit het CRM systeem wordt er een aanroep gedaan naar een website met bepaalde data
Deze ziet er als volgt uit:
http://localhost:17011/Home/Index?sleutel=28934375&systeem=43&label=1 (even localhost gepakt)
Deze roept dan via een WebClient een Webservice aan welke (in dit geval) op dezelfde webserver draait
Deze vereist een inlog welke hetzelfde is als de inlog welke gebruikt wordt om de webpagina te openen.
Nu wil ik deze login automatisch doorgeven door Impersonation, echter wil dit niet echt meewerken.
Ik heb het momenteel op de volgende manieren geprobeerd:
1. client.UseDefaultCredentials = true;
2. client.Credentials = CredentialCache.DefaultCredentials;
3. client.Credentials = CredentialCache.DefaultNetworkCredentials;
Middels de volgende methode:
http://stackoverflow.com/...ls-along-with-the-request
En ook deze:
http://stackoverflow.com/...ct-for-the-logged-in-user
En nog een partij aan zoekopdrachten later ben ik nog geen steek verder.
Wellicht dat iemand hier mij erbij kan helpen?
C#:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| public FileResult Index() { //Model aanmaken DataModel model = new DataModel(); //Querystrings welke uit CRM komen string document = Request.QueryString["sleutel"]; string DocumentSourceID = Request.QueryString["systeem"]; string Label = Request.QueryString["label"]; //ADAccount uit User.Identity string ADAccount = User.Identity.Name.Substring(User.Identity.Name.LastIndexOf('\\') + 1); //URL Formatten met de querystrings Uri uri = new Uri(string.Format(ConfigurationManager.AppSettings.Get("URL"), document, ADAccount, DocumentSourceID, Label)); //Nieuwe WebClient aanmaken var client = new WebClient(); //Encoding op UTF8 zetten client.Encoding = Encoding.UTF8; //ContentType op XML zetten client.Headers.Add("Content-Type", "application/xml"); //Credentials???? #region credentials client.UseDefaultCredentials = true; #endregion try { //XML Downloaden var data = client.DownloadString(uri); //Parsen hier } catch (Exception ex) { logger.Trace(ex); throw ex; } //Base64 string (het document) converten naar een byteArray byte[] byteArray = Convert.FromBase64String(model.Data); //En dan geven we het bestand terug als download return File(byteArray, model.ContentType, model.Omschrijving); } |