Hi,
Am really struggling with Posting Json to a Secure Rest API in a VB.net Compact 3.5 App. Below is the first Piece of code I tried and I get a error that 'Could not establish secure channel for SSL/TLS'
Imports Newtonsoft.Json
Imports System.Net
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim SendData As String
Dim NetSuiteRequest As New NetSuite.CreateBin.Request
Dim BinList As New List(Of NetSuite.CreateBin.RequestProperties)
Dim Bin As New NetSuite.CreateBin.RequestProperties
Bin.BinNumber = "D20.A01.01.A"
Bin.RecordType = "create"
Bin.RecordType = "bin"
BinList.Add(Bin)
NetSuiteRequest.request = BinList
SendData = JsonConvert.SerializeObject(NetSuiteRequest, Formatting.Indented)
Dim request As HttpWebRequest
Dim response As HttpWebResponse = Nothing
Dim reader As StreamReader
Dim address As Uri
Dim byteData() As Byte
Dim postStream As Stream = Nothing
address = New Uri("https://---------------------------Sorry Cant Show URL--------------")
request = DirectCast(WebRequest.Create(address), HttpWebRequest)
request.Method = "POST"
request.ContentType = "application/json; charset=UTF-8"
request.Accept = "application/json"
request.Credentials = New NetworkCredential("UserName", "Password")
byteData = UTF8Encoding.UTF8.GetBytes(SendData.ToString())
request.ContentLength = byteData.Length
Try
postStream = request.GetRequestStream()
postStream.Write(byteData, 0, byteData.Length)
Finally
If Not postStream Is Nothing Then postStream.Close()
End Try
Try
response = DirectCast(request.GetResponse(), HttpWebResponse)
reader = New StreamReader(response.GetResponseStream())
Console.WriteLine(reader.ReadToEnd())
Finally
If Not response Is Nothing Then response.Close()
End Try
End Sub
End Class
What I have tried:
I tried using Rebex.net to overcome this issue and this the code that I came up with but it does not work either.
Imports Newtonsoft.Json
Imports System.Net
Imports System.IO
Imports System.Text
Imports Rebex.Net
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim SendData As String
Dim NetSuiteRequest As New NetSuite.CreateBin.Request
Dim BinList As New List(Of NetSuite.CreateBin.RequestProperties)
Dim Bin As New NetSuite.CreateBin.RequestProperties
Bin.BinNumber = "D20.A01.01.A"
Bin.RecordType = "create"
Bin.RecordType = "bin"
BinList.Add(Bin)
NetSuiteRequest.request = BinList
SendData = JsonConvert.SerializeObject(NetSuiteRequest, Formatting.Indented)
Dim creator = New HttpRequestCreator()
creator.Settings.SslAllowedVersions = TlsVersion.Any
Dim Address As New Uri("https://---------------------------Sorry Cant Show URL--------------")
Dim Request As WebRequest = creator.Create(Address)
Request.Method = "POST"
Request.ContentType = "application/json; charset=UTF-8"
Request.Credentials = New NetworkCredential("UserName", "Password")
Dim byteData() As Byte
Dim postStream As Stream = Nothing
Dim Response As WebResponse
Dim reader As StreamReader
byteData = UTF8Encoding.UTF8.GetBytes(SendData.ToString())
Request.ContentLength = byteData.Length
Try
postStream = Request.GetRequestStream()
postStream.Write(byteData, 0, byteData.Length)
Finally
If Not postStream Is Nothing Then postStream.Close()
End Try
Try
Response = DirectCast(Request.GetResponse(), WebResponse)
reader = New StreamReader(response.GetResponseStream())
Console.WriteLine(reader.ReadToEnd())
Finally
If Not response Is Nothing Then response.Close()
End Try
End Sub
End Class
All Help is Very much appreciated.
Cheers,
Joel Steen.