I'm having a problem using the xml request and send on an https Website.
Well i'm using this code:
vb.net Code:
Private StrCertMsg As String Protected Function OnCertificateValidation(ByVal sender As Object, ByVal certificate As X509Certificate, ByVal chain As X509Chain, ByVal sslPolicyErrors As SslPolicyErrors) As Boolean StrCertMsg = "Server Certificate Issued To: " + certificate.Subject StrCertMsg = StrCertMsg + "Server Certificate Issued By: " + certificate.Issuer If Not (sslPolicyErrors) = sslPolicyErrors.None Then Return False Else Return True End If End Function Public objRequest As HttpWebRequest Public Function get_lic(ByVal str As String) As System.Xml.XmlDocument Dim URL_BASE As String = "https://xml.website.com/xmlcenter/xmlquery.php" Dim xmlDoc As System.Xml.XmlDocument xmlDoc = New System.Xml.XmlDocument Dim result As String = "" Dim myWriter As StreamWriter Dim sXML = "<?xml version='1.0' encoding='UTF-8' ?><xmlcenter><auth><username>abcd</username><password>abcd123</password></auth>" & _ "<xxxxx>" & _ "<asse code=""" & str & """>" & _ "</asse>" & _ "</xxxx></xmlcenter>" ServicePointManager.CertificatePolicy = New MyCertificateValidation objRequest = WebRequest.Create(URL_BASE) objRequest.Method = "POST" Try myWriter = New StreamWriter(objRequest.GetRequestStream()) myWriter.Write(sXML) myWriter.Flush() myWriter.Close() Catch e1 As Exception Response.Write(e1.Message) Finally End Try Dim objResponse As HttpWebResponse = objRequest.GetResponse() Dim sr As StreamReader sr = New StreamReader(objResponse.GetResponseStream()) result = sr.ReadToEnd() sr.Close() xmlDoc.LoadXml(result) Return xmlDoc End Function
And i'm using this to:
vb.net Code:
Imports System.Security.Cryptography.X509Certificates Public Class MyCertificateValidation Implements System.Net.ICertificatePolicy Public Function CheckValidationResult(ByVal srvPoint As ServicePoint, _ ByVal cert As X509Certificate, ByVal request As WebRequest, ByVal problem As Integer) _ As Boolean Implements ICertificatePolicy.CheckValidationResult Return True ' Accept all certificates End Function End Class Public Class RequestState Public request As WebRequest = Nothing Public requestDocument As String End Class
This works. . . but sometimes it gives me a strange error. :| Is there anyway to do this without any marge to mistakes?



Reply With Quote