Reputation: 1472
I'm writing an application that accesses a SharePoint site using the Client Object Model and I'm behind a proxy server.
I call...
ClientContext.ExecuteQuery()
and receive the following error message...
The remote server returned an error: (407) Proxy Authentication Required.
How do I pass my proxy credentials to the Client Context object...?
Upvotes: 8
Views: 13020
Reputation: 1001
You will need to pass the WebProxy (System.Net.WebProxy) object to the WebRequest instance executing your query. One way of doing this is
ClientContext context = new ClientContext("<a valid url>");
context.ExecutingWebRequest += (sen, args) =>
{
WebProxy myProxy = new WebProxy();
myProxy.Address = new Uri("http://<proxy_server_address>");
myProxy.Credentials = new System.Net.NetworkCredential("jack_reacher","<password>", "<domain>");
args.WebRequestExecutor.WebRequest.Proxy = myProxy;
};
context.ExecuteQuery();
Edit: Fixed typo (ags --> args)
Upvotes: 5
Reputation: 291
Try this in your app.config if your proxy server doesn't require authentication:
<system.net>
<defaultProxy>
<proxy
usesystemdefault="False"
proxyaddress="http://myproxyserver.company.com:8080"
bypassonlocal="True"
/>
</defaultProxy>
</system.net>
Upvotes: 1
Reputation: 7056
I think you need the following in your app.config inside the <configuration>
node:
<system.net>
<defaultProxy useDefaultCredentials="true" >
</defaultProxy>
</system.net>
Upvotes: 4