send Header and Request in post method - c#

I am trying to send Header and Request in post method using RestClient library but getting error:
Endpoint not found.
var client = new RestClient("http://xxxxxxxxxx/UIService.svc/xxxxxxxxx/xxxxx");
var request = new RestRequest();
request.Method = Method.POST;
request.AddHeader("Authentication", jsonHeadEncrpt);
// request.AddHeader("Accept", "application/json");
request.Parameters.Clear();
request.AddParameter("application/json", JsonReqEncrpt, ParameterType.RequestBody);
var responsed = client.Execute(request);
Response :Endpoint not found. Please see the service help page for constructing valid requests to the service

Guys Found the solution need to add request.Resource where need to assign the endpoint function..Now it is working fine

Related

Bad Request Patch c#

I would like to update the message of redeem channel point. I do the request in insomnia and it works, but when I try do the same in C#, I receive a message error
'Request failed with status code BadRequest'.
Request on insomnia:
Code of c#:
var client = new RestClient($"https://api.twitch.tv/helix/channel_points/custom_rewards?broadcaster_id={broadcastid}&id=06c5ae77-2890-4a7f-a722-52b96062ef82");
var request = new RestRequest();
request.Method = Method.Patch;
request.AddHeader("Authorization", $"Bearer {Properties.Resources.OAuthToken}");
request.AddHeader("Client-ID", $"{Properties.Resources.userid}");
request.AddHeader("Content-Type", "application/json");
//request.AddBody("is_enabled", "true");
//request.AddBody("prompt", $"test");
request.AddBody("{\"is_enabled\": true,\"prompt\":\"test\"}");
request.RequestFormat = DataFormat.Json;
var response = await client.PatchAsync(request);
Console.WriteLine("");
The request is Patch, can read more about request there. But i think the problem is on request.

C# winform send request content type application/x-www-form-urlencoded with Restsharp

I am developing an small app with C# window form.
I can use Restsharp to send any request with content type application/json. But with application/x-www-form-urlencoded the server always return nothing or Internal error.
I have tested this api with Postman and Restlet Client and it work well.
Following some example on internet but it not work too.
Here is my code:
var client = new RestClient("http://www.nhimanhma.com");
var request = new RestRequest("users/sign_in", Method.POST);
request.AddHeader("content-type", "application/x-www-form-urlencoded");
string formData = $"token={token}&user[email]={email}&user[password]={password}";
string urlEncode = RestSharp.Extensions.StringExtensions.UrlEncode(formData);
request.AddParameter("application/x-www-form-urlencoded", urlEncode, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
var content = response.Content;

Python post request to C#

Below code I need to call in c#, how do we can achieve this, please help me.
import requests #requires "requests" package
import json
response = requests.post('https://scm.commerceinterface.com/api/v3/mark_exported', data={'supplier_id':'111111111', 'token':'sample-token',
'ci_lineitem_ids':json.dumps([54553919,4553920])}).json()
if response['success'] == True:
#Successfully marked as exported (only items which are not already marked exported)
pass
else:
pass
//I got sollution
C# post request
var client = new RestClient(exportUrl);
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddParameter("supplier_id", apiSupplierID);
request.AddParameter("token", apiToken);
request.AddParameter("ci_lineitem_ids", exportOrders);
IRestResponse response = client.Execute(request);

using Rest client and getting statuscode 406 not acceptable

I'm using RestClient and redirecting the request to external REST webservice (java) as RestRequest. I'm getting HTTP statuscode 'not acceptable' and also the repsonse.content is something like this "The resource cannot be displayed because the file extension is not being accepted by your browser."
the operation is successful but not able to get the required response which is nothing but a string value.
below is code snippet:
var client = new RestClient();
client.BaseUrl = JavaWSURI;
var request = new RestRequest();
//request.AddHeader("Content-Length", int.MaxValue.ToString());
//request.AddHeader("Content-Type", "text/html; charset=utf-8");
// jsonD is JSON input object
request.AddParameter("application/json", jsonD, ParameterType.RequestBody);
request.Method = Method.POST;
request.RequestFormat = DataFormat.Json;
// The server's Rest method will probably return something
var response = client.Execute(request) as RestResponse;
From the error message, it sounds like you may need to add an 'Accept' header to the request
Add an Accept request header as follows:
request.AddHeader("Accept",
"text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8");
Please note you may need to change the value depending on your content.

Cannot PUT/POST using Rest Sharp using XML

I want to create/modify an issue on redmine using the PUT/POST methods of restSharp.
I cannot find valuable information about xml PUT/POST using Rest sharp. I tried various methods from restsharp.org like Addbody("test", "subject"); , IRestResponse response = client.Execute(request); but there is no change in Redmine. What am I doing wrong?
POST gives a "Only get, put, and delete requests are allowed." message.
PUT gives a "Only get, post, and delete requests are allowed." message.
My Code
RestClient client = new RestClient(_baseUrl);
client.Authenticator = new HttpBasicAuthenticator(_user, _password);
RestRequest request = new RestRequest("issues/{id}.xml", Method.POST);
request.AddParameter("subject", "Testint POST");
request.AddUrlSegment("id", "5");
var response = client.Execute(request);
The problem was in the serialization. My Issue class contains object of various other classes which was causing a problem in the serialization.
This is how we did it:
RestRequest request = new RestRequest("issues/{id}.xml", Method.PUT);
request.AddParameter("id", ticket.id, ParameterType.UrlSegment);
request.XmlSerializer = new RedmineXmlSerializer();
request.AddBody(ticket);
RestClient client = new RestClient(_baseUrl);
client.Authenticator = new HttpBasicAuthenticator(_user, _password);
IRestResponse response = client.Execute(request);
Your code looks ok to me, I'm unsure if you need this but we added this header when using RestSharp for json against a WebAPI host:
request.AddHeader("Accept", "application/xml");

Categories