[2005] Problem on request xML on https
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?