Scribe has made it extremely easy to work with their API. Currently, in my limited free time, I am working on a reusable C# library to send and receive data from Scribe's API. Once it is completed for Version 1, I will list it to GitHub, so anyone can consume it and provide feedback on improvements. There will be a fully built out wiki with how to consume the library with references to the Scribe API documentation. Also there will be both TDD (Test Driven Development) and BDD (Behavior Driven Development) projects. This way you can see examples of how to consume the library as well as what I tested before release. If you are not familiar with BDD, I recommend you check out my blog post in my Dynamics 365 blog, that gives a high level overview of it.
Anyways, back to what this post is about. While working on the library, I came across one small issue around TLS 1.2 and making sure that the web request uses it. Luckily, this is really easy to set in C#, when using .NET 4.5. By default .NET 4.5 does not send TLS 1.2. It is supported, just not the default. So if TLS 1.2 is set for an endpoint, then we need to specify to use it. This way we decrease the chance of an error occurring. Here is a blog post I came across that helped me with my issue.
Because I am using C# .NET 4.5 I simply needed to add the following line of code:
The line of code is added right before my HttpWebRequest. Here is the fully working request method:
In this code I do use a factory to determine what kind of response I need to return. It could be just a string response or a JSON string response response. I have tested this against both Sandbox and Production API's with Scribe Online and it does work. The only other thing I want to note in the above code, is I am sending a content length of 0. This is because I did receive some error messages where content length was required, even though I wasn't sending a body. If you need to send a JSON content body, there is the method where I do that:
If you need any help on working with the Scribe Api, please feel free to leave a comment below or leave a post in the Scribe Forums. Also check out Scribe's Developer Portal for additional information.
References:
Tarnovskiy, S. (2016, April 28). TLS 1.2 and .NET Support: How to Avoid Connection Errors. Retrieved April 30, 2018, from https://blogs.perficient.com/microsoft/2016/04/tsl-1-2-and-net-support/
Anyways, back to what this post is about. While working on the library, I came across one small issue around TLS 1.2 and making sure that the web request uses it. Luckily, this is really easy to set in C#, when using .NET 4.5. By default .NET 4.5 does not send TLS 1.2. It is supported, just not the default. So if TLS 1.2 is set for an endpoint, then we need to specify to use it. This way we decrease the chance of an error occurring. Here is a blog post I came across that helped me with my issue.
Because I am using C# .NET 4.5 I simply needed to add the following line of code:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
The line of code is added right before my HttpWebRequest. Here is the fully working request method:
public string SendRequest(string username, string password, string url, string method)
{
WebResponseFactory factory = new WebResponseFactory();
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = method;
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes($"{username}:{password}")));
request.ContentType = ParameterContentTypeSettings.applicationjson;
request.ContentLength = 0;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
return factory.ProcessResponse(response);
}
In this code I do use a factory to determine what kind of response I need to return. It could be just a string response or a JSON string response response. I have tested this against both Sandbox and Production API's with Scribe Online and it does work. The only other thing I want to note in the above code, is I am sending a content length of 0. This is because I did receive some error messages where content length was required, even though I wasn't sending a body. If you need to send a JSON content body, there is the method where I do that:
public string SendRequest(string username, string password, string url, string method, string contentBody)
{
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] encodedData = encoding.GetBytes(contentBody);
WebResponseFactory factory = new WebResponseFactory();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = method;
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes($"{username}:{password}")));
request.ContentType = ParameterContentTypeSettings.applicationjson;
request.ContentLength = encodedData.Length;
var requestStream = request.GetRequestStream();
requestStream.Write(encodedData, 0, encodedData.Length);
requestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
return factory.ProcessResponse(response);
}
If you need any help on working with the Scribe Api, please feel free to leave a comment below or leave a post in the Scribe Forums. Also check out Scribe's Developer Portal for additional information.
References:
Tarnovskiy, S. (2016, April 28). TLS 1.2 and .NET Support: How to Avoid Connection Errors. Retrieved April 30, 2018, from https://blogs.perficient.com/microsoft/2016/04/tsl-1-2-and-net-support/
Nice blog post your gave for us. I heartfully thank you and i request you to add more informations like this in future.
ReplyDeleteJAVA Training in Chennai
JAVA Training in Tnagar
Selenium Training in Chennai
Digital Marketing Course in Chennai
Python Training in Chennai
Big data training in chennai
JAVA Training in Chennai
Java Training in Velachery
ReplyDeleteyour explanation way is too good, very easy to understand for all readers. Thank you for providing the best details and I want more unique posts.
Primavera Training in Chennai
Primavera Course in Chennai
Tableau Training in Chennai
Spark Training in Chennai
Power BI Training in Chennai
Excel Training in Chennai
Oracle Training in Chennai
Oracle DBA Training in Chennai
Social Media Marketing Courses in Chennai
Good explanation with appropriate solution.
ReplyDeleteArticle submission sites
Guest posting sites
Excellent post. The author has shared the post in a unique way. Have been in a wait for more updates. Do share more.
ReplyDeleteGerman Classes in Mulund
German Language Classes in Mulund
French Classes in Mulund
French Classes in Mulund East
Spoken English Classes in Chennai
Best Spoken English Classes in Chennai
English Speaking Classes in Mumbai
IELTS Coaching in Chennai
IELTS Classes in Mumbai
I feel satisfied to read your blog, you have been delivering a useful & unique information to our vision.keep blogging.
ReplyDeleteRegards,
microsoft dynamics training in chennai
Ethical Hacking Course in Chennai
PHP Training in Chennai
Web Designing Course in Chennai
microsoft dynamics crm training
gst training in chennai
microsoft dynamics crm training institutes in chennai
ccna Training in Chennai
web designing course
best weight machines
ReplyDeleteNice Article!!!
ReplyDeleteweb designing course with placement
php mysql course in chennai
magento 2 course | magento 2 training
I like the helpful info you provide in your articles. I’ll bookmark your weblog and check again here regularly. I am quite sure I will learn much new stuff right here! Good luck for the next!
ReplyDeleteGoogle ads services | Google Ads Management agency
web designing classes in chennai | Web Designing courses in Chennai | Web Designing Training and Placement | Best Institute for Web Designing
web designer courses in chennai | best institute for web designing Classes in Chennai
web designing classes in chennai | web designing training institute in chennai
mobile application development course | mobile app development training
keep up the good work. this is an Assam post. this to helpful, i have reading here all post. i am impressed. thank you. this is our digital marketing training center. This is an online certificate course
ReplyDeletedigital marketing training in bangalore / https://www.excelr.com/digital-marketing-training-in-bangalore
Thanks for sharing this valuable information to our vision. You have posted a worthy blog keep sharing.
ReplyDeleteDigital Marketing Course In Kolkata
Web Design Course In Kolkata
SEO Course In Kolkata
Just the way I have expected. Your website really is interesting
ReplyDeleteDigital Marketing Training Course in Chennai | Digital Marketing Training Course in Anna Nagar | Digital Marketing Training Course in OMR | Digital Marketing Training Course in Porur | Digital Marketing Training Course in Tambaram | Digital Marketing Training Course in Velachery
I have been reading for the past two days about your blogs and topics, still on fetching! Wondering about your words on each line was massively effective.keep it up
ReplyDeleteAi & Artificial Intelligence Course in Chennai
PHP Training in Chennai
Ethical Hacking Course in Chennai Blue Prism Training in Chennai
UiPath Training in Chennai
The content that I normally go through nowadays is not at all in parallel to what you have written. It has concurrently raised many questions that most readers have not yet considered.
ReplyDeleteSAP training in Kolkata
SAP training Kolkata
Best SAP training in Kolkata
SAP course in Kolkata
The content is well recognized, so no one could claim that it is just one person's opinion yet it covers and justifies all the valid points. Hope to read some more work from you.
ReplyDeleteData Science training in Mumbai
Data Science course in Mumbai
SAP training in Mumbai
Excellent blog thanks for sharing the valuable information..it becomes easy to read and easily understand the information.
ReplyDeleteUseful article which was very helpful. also interesting and contains good information.
to know about python training course , use the below link.
Python Training in chennai
Python Course in chennai
I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.
ReplyDeleteCRM Software
Kardinal Stick Siam - relx a great promotion. Express delivery in 3 hours.
ReplyDeleteufa football betting, casino, slots, lottery, direct website 1688, stable financial, 100% UFABET168.
Online Baccarat FOXZ24 Easy to apply, fast, บาคาร่า deposit-withdraw 10 seconds with the system.
Watch movies online sa-movie.com, watch new movies, series Netflix HD 4K ดูหนังออนไลน์, watch free movies on your mobile phone, Tablet, watch movies on the web.
SEE4K Watch movies, watch movies, free series, load without interruption, sharp images in HD FullHD 4k, ดูหนังใหม่ all matters, all tastes, see anywhere, anytime, on mobile phones, tablets, computers.
GangManga read manga, read manga, read manga online for free, fast loading, clear images in HD quality, อ่านการ์ตูน all titles, anywhere, anytime, on mobile, tablet, computer.
Watch live football ผลบอลสด, watch football online, link to watch live football, watch football for free.
Aivivu chuyên vé máy bay, tham khảo
ReplyDeleteve may bay di my gia re
vé máy bay đà nẵng hcm
vé máy bay hà nội giá rẻ
vé nha trang sài gòn
vé máy bay huế đà lạt
taxi sân bay nội bài 7 chỗ
combo nha trang 3 ngày 2 đêm 2021
This is really nice. I love it. Great work done.
ReplyDeleteFinally I’m glad to check this blog because it’s a nice and informative blog.
ReplyDeleteSelenium Training in Chennai
Selenium Training in Bangalore
Selenium Online Training
Excellent information you have shared, thanks for taking the time to share with us such a great article. I really appreciate your work.
ReplyDeleteOffice.com/Setup | Office.com/Setup | McAfee.com/Activate |
McAfee.com/Activate
Through www.amazon.com/mytv - how you can connect your mobile phone to Amazon Prime. Through amazon.com/mytv, you can watch your favorite TV shows, series movies. You can watch prime videos anywhere on your device. Users need to create an Amazon account if they don’t have an Amazon account and enter the Amazon my TV activation code to watch Amazon prime videos on your device.
ReplyDeleteamazon.com/mytv | www.amazon.com/mytv
Looking for ways to set up your new router on your local network visit us at 192.168.1.1 we might be able to help you with that.
ReplyDeleteLooking for ways to set up your new router on your local network visit us at 192.168.0.1 we might be able to help you with that.
ESPN is the first company that works as a medium for bringing live sports online so that one can watch their favorite sports anytime or anywhere. To know more about the ESPN subscription plans or any other info visit espn.com/activate
Tubitv.com/activate is an online platform that is a creation of Fox Corporation and stream the latest content and videos of your interest. In comparison to Netflix, the platform is free to access and you can watch as many as movies you want for free with the help of tubi.tubi.tv/activate
ReplyDeleteGeek squad tech support is the prominent name in delivering the most possible repairing, setting or troubleshooting solution to the users with their home appliances, antivirus programmes and office devices. We help users in resolving most of the tech-related issues at their doorstep with the help of experienced technicians or with unmatchable online troubleshooting solutions. If you are facing any kind of issues with your electronic gadget we are dedicated you to deliver the most genuine and trusted solution within no time.
ReplyDeletecoinbase pro login Despite the presence of a wide range of digital wallets and crypto-exchange platforms, users find Coinbase an easy-to-use platform. It uses advanced technology for cryptocurrency storage and came up with multi-angled trading services for corporate and personal account holders.
ReplyDeleteCoinbase Pro Login its user to use their old coinbase account login details to enhance the productivity of crypto trading.
ReplyDeleteCoinbase Pro Login
Coinbase Pro Login
coinbase pro login
geek squad chat
geek squad tech support
Very nice article. Thank you for sharing with us.
ReplyDeleteTamil romantic novels pdf
Ramanichandran novels PDF
srikala novels PDF
Mallika manivannan novels PDF
muthulakshmi raghavan novels PDF
Infaa Alocious Novels PDF
N Seethalakshmi Novels PDF
Sashi Murali Tamil Novels PDF
AOL MAIL LOGIN is all about convenience and efficiency. As such, creating and accessing your Email Account is extremely simple and quick. For this, you must go to its official website i.e. “mail.aol.com”. In order to create/ access your account smoothly without any hassle, you must follow the instructions given below.
ReplyDeleteFor More Information Visit Our Site:
TURBOTAX LOGIN
TUBI.TV/ACTIVATE
amazon.com/code
Much obliged for sharing this brilliant substance. its extremely fascinating. Numerous web journals I see these days don't actually give whatever pulls in others however the manner in which you have plainly clarified everything it's truly awesome. There are loads of posts But your method of Writing is so Good and Knowledgeable. continue to post such helpful data and view my site too...
ReplyDeleteHow to make a paper airplane | Origami paper plane | Boomerang Airplane | how to make a eagle paper airplane | Best paper airplane design for distance and speed | Nakamura lock paper airplane
Eagle paper plane | Zazoom | Easy Freezy
I like your post. I appreciate your blogs because they are really good. Please go to this website for Data Science course in Bangalore. These courses are wonderful for professionals.
ReplyDeleteObviously a satisfying estimation. i've affirmation this bewildering announce. much obliged to you for sharing proposal generally it. I in truth further to that. much appreciated accurately part to your meet. Wifi Hack Online
ReplyDeleteI waterfrontt any expression to understand this call.....truely i'm dazzled from this make recognized....the person that make this screen it changed into an excellent human..thanks for shared this long past us. Norton Internet Security Full Crack
ReplyDeleteGlorious web site! I love the way it is straightforward upon my eyes it's far. I'm contemplating the way in which I might be prompted whenever another conspicuous screen has been made. glancing through out extra new updates. Have a colossal extensive stretches of significant stretches of light hours!! Happy Birthday Wishes To Son In Law
ReplyDeleteAnd should you get pleasure from both playing in} cards in a stay poker site and playing in} classic on line casino games, then Ignition might be the most effective on-line on line casino for you. No bonus code is important for this 150% deposit match as much as} $3,000 for poker and on line casino games. Most on-line playing sites will completely allow you to play free on line casino games first. This is to check out the on line casino to see should you like finest way|the way in which} the games play, or just, to see should you like the look of it. This additionally be|may additionally be|can be} a great way|a good way|an efficient way} bet365 to apply and work out the rules of a recreation.
ReplyDelete