Howto ignorieren SSL-Zertifikat Fehler im WebService-Anfrage?
Frage: ich habe geschrieben eine Konsole-Programm, das verwendet die SQL server 2005-Dienst zum hochladen von berichten auf SQL Server 2005 reporting service (so dass ich nicht zum hochladen haben 100 Berichte, die von hand jedes mal).
Es funktioniert lokal und Remote.
Aber nun, das problem ist ein server SSL verwendet
so rs.Url = "https://hostname/ReportServer/reportservice2005.asmx
das problem ist jetzt das SSL-Zertifikat ungültig ist...
Kann ich den Zugriff auf die reportserver aus dem browser jedoch durch das ignorieren dieser Fehler.
Wie kann ich das machen mit dem webservice?
' http://msdn.microsoft.com/en-us/library/aa225813(SQL.80).aspx
' COR.Reporting.ReportingServiceInterface.CreateThisReport(strFileNameAndPath, strReportName, strReportingPath)
' COR.Reporting.ReportingServiceInterface.CreateThisReport("c:\path\to\file\xy.rdl", "xy", "/COR")
Public Shared Sub CreateThisReport(ByVal strFileNameAndPath As String, ByVal strReportName As String, ByVal strReportingPath As String, Optional ByVal bOverwrite As Boolean = True)
Dim rs As ReportingService2005 = New ReportingService2005
rs.Credentials = ReportingServiceInterface.GetMyCredentials(strCredentialsURL)
rs.Timeout = ReportingServiceInterface.iTimeout
rs.Url = ReportingServiceInterface.strReportingServiceURL
Dim btBuffer As Byte() = Nothing
Dim rsWarnings As Warning() = Nothing
Try
Dim fstrStream As System.IO.FileStream = System.IO.File.OpenRead(strFileNameAndPath)
btBuffer = New [Byte](fstrStream.Length) {}
fstrStream.Read(btBuffer, 0, CInt(fstrStream.Length))
fstrStream.Close()
Catch ex As System.IO.IOException
Throw New Exception(ex.Message)
End Try
Try
rsWarnings = rs.CreateReport(strReportName, strReportingPath, bOverwrite, btBuffer, Nothing)
If Not (rsWarnings Is Nothing) Then
Dim warning As Warning
For Each warning In rsWarnings
Console.WriteLine(warning.Message)
Next warning
Else
Console.WriteLine("Report: {0} created successfully with no warnings", strReportName)
End If
Catch ex As System.Web.Services.Protocols.SoapException
Console.WriteLine(ex.Detail.InnerXml.ToString())
End Try
End Sub ' End Function CreateThisReport
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie dies tun, indem Sie die Registrierung eines Delegaten mit
ServicePointManager.ServerCertificateValidationCallback
, die true zurückgibt. Wenn der Delegat gibt true zurück, alle Zertifikate (gültige sowie ungültige) akzeptiert werden.