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...?
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, ags) =>
{
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();
I think you need the following in your app.config inside the <configuration>
node:
<system.net>
<defaultProxy useDefaultCredentials="true" >
</defaultProxy>
</system.net>
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>