I have a web service where I can GET, POST, PUT and DELETE data from the Postman tool or directly from the google chrome browser. i.e. if I do GET in postman, I am going to get the information of the map as you can see in the following image GET map.
Now, I want to the same GET, but from my own program in visual studio. I have created a visual studio console program with the following code:
static void Main(string[] args)
{
Console.WriteLine("Welcome to the API program!");
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://161.30.96.250:51615/");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
Console.WriteLine("Before the query!");
HttpResponseMessage response = client.GetAsync("api/1.0/config/element/satellite").Result;
Console.WriteLine("After reponse!");
if (response.IsSuccessStatusCode)
{
Console.WriteLine(response.ToString());
}
else
{
//Something has gone wrong, handle it here
}
}
When I Start the program, is complaining about this line: "HttpResponseMessage response = client.GetAsync("api/1.0/config/element/satellite").Result;". Complaining about the following ERROR.
Does anyone know how to solve this problem?
I think that one problem could be that I need to put the user and the password to access to this web service. I tried to solve that as it is explained in the solution of this question(How to use credentials in HttpClient in c#?), but it didn't work neither.
Added: Some of you asked to add the inner exception. Here you have the inner exception.
System.AggregateException was unhandled
HResult=-2146233088
Message=One or more errors occurred.
Source=mscorlib
StackTrace:
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at System.Threading.Tasks.Task`1.get_Result()
at ConsoleApplication1.Program.Main(String[] args) in H:\visualstudio\webAPIquery\ConsoleApplication1\ConsoleApplication1\Program.cs:line 99
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
BareMessage=Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section.
HResult=-2146232062
Line=0
Message=Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section.
Source=System
StackTrace:
at System.Net.Configuration.DefaultProxySectionInternal.GetSection()
at System.Net.WebRequest.get_InternalDefaultWebProxy()
at System.Net.HttpWebRequest..ctor(Uri uri, ServicePoint servicePoint)
at System.Net.HttpWebRequest..ctor(Uri uri, Boolean returnResponseOnFailureStatusCode, String connectionGroupName, Action`1 resendRequestContent)
at System.Net.Http.HttpClientHandler.CreateAndPrepareWebRequest(HttpRequestMessage request)
at System.Net.Http.HttpClientHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
InnerException:
ErrorCode=10022
HResult=-2147467259
Message=An invalid argument was supplied
NativeErrorCode=10022
Source=System
StackTrace:
at System.Net.SafeCloseSocketAndEvent.CreateWSASocketWithEvent(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType, Boolean autoReset, Boolean signaled)
at System.Net.NetworkAddressChangePolled..ctor()
at System.Net.AutoWebProxyScriptEngine.AutoDetector.Initialize()
at System.Net.AutoWebProxyScriptEngine.AutoDetector.get_CurrentAutoDetector()
at System.Net.AutoWebProxyScriptEngine..ctor(WebProxy proxy, Boolean useRegistry)
at System.Net.WebProxy.UnsafeUpdateFromRegistry()
at System.Net.WebProxy..ctor(Boolean enableAutoproxy)
at System.Net.Configuration.DefaultProxySectionInternal..ctor(DefaultProxySection section)
at System.Net.Configuration.DefaultProxySectionInternal.GetSection()
InnerException:
This post is already solved. I was running the program in the network of our company and because of the security that we have, it was not working. I don't know how mark it as solved, let me know how to do it please.