Beste mensen,
Ik ondervind problemen bij het uitlezen van een specifieke webservice. Deze probeer ik d.m.v. VB.NET 2010 aan te spreken. De bijbehorende certificaten heb ik (van het bedrijf wat de webservice host) ontvangen en op mijn computer geïnstalleerd.
Vervolgens heb ik in VB.NET 2010 een "Windows Form Application" gemaakt. Hierin heb ik een "ServiceReference" toegevoegd. (met de link naar de WSDL toe)
Dit heb ik als test code:
En moet ik het laatste stukje code erbij laten staan om die eerste fout niet te krijgen, of wat is wijsheid?
En hoe moet ik vervolgens verder om de 2e foutmelding niet meer te krijgen?
Hopelijk heeft er iemand een idee hierover
Ik ondervind problemen bij het uitlezen van een specifieke webservice. Deze probeer ik d.m.v. VB.NET 2010 aan te spreken. De bijbehorende certificaten heb ik (van het bedrijf wat de webservice host) ontvangen en op mijn computer geïnstalleerd.
Vervolgens heb ik in VB.NET 2010 een "Windows Form Application" gemaakt. Hierin heb ik een "ServiceReference" toegevoegd. (met de link naar de WSDL toe)
Dit heb ik als test code:
Bij het uitvoeren van bovenstaande code komt er deze foutmelding:Dim b As New ServiceModel.BasicHttpBinding
b.Security.Mode = ServiceModel.SecurityMode.Transport
b.Security.Transport.ClientCredentialType = ServiceModel.TcpClientCredentialType.Certificate
' Create an EndPointAddress.
Dim ea As New ServiceModel.EndpointAddress("https://1.1.1.1/Webservice")
' Create the client.
Dim cc As New ServiceReference1.PortTypeClient(b, ea)
' Set the certificate for the client.
cc.ClientCredentials.ClientCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.Root, X509FindType.FindBySubjectName, "2.2.2.2")
Try
cc.Open()
Dim test As ServiceReference1.ResponseEnvelope = cc.RequestEnvelope(Request)
cc.Close()
Catch adExc As AddressAccessDeniedException
MsgBox(adExc.Message)
Catch exc As System.Exception
MsgBox(exc.Message)
End Try
Hiervoor heb ik op internet een workaround gevonden. Als ik onderstaande code er nog bij zet, dan verschijnt bovenstaande foutmelding niet meer...Could not establish trust relationship for the SSL/TLS secure channel with authority '1.1.1.1'
Er komt echter weer een andere foutmelding:Private Function ValidateCertificate(ByVal sender As Object, ByVal certificate As X509Certificate, ByVal chain As X509Chain, ByVal sslPolicyErrors As SslPolicyErrors) As Boolean
' 'Return True to force the certificate to be accepted.
' Return True
'End Function
'Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(AddressOf ValidateCertificate)
'End Sub
Wat zou volgens jullie een oplossing kunnen zijn?"Missing <wsse:Security> in SOAP Header"
En moet ik het laatste stukje code erbij laten staan om die eerste fout niet te krijgen, of wat is wijsheid?
En hoe moet ik vervolgens verder om de 2e foutmelding niet meer te krijgen?
Hopelijk heeft er iemand een idee hierover