Ciao Enzo,
E' da impazzire?
No, bisogna solo fermarsi un attimo e fare ricerca per capire il significato del codice che stai usando. Altrimenti è come cercare di decifrare i geroglifici senza la stele di Rosetta.
Questo codice non va bene perché stai ridefinendo il binding e l'endpoint con codice VB.NET, quindi escludendo completamente qualsiasi configurazione sia stata fatta dal web.config.
Dim myBinding As New ServiceModel.BasicHttpsBinding()
Dim ea As New EndpointAddress("https://fseservicetest.sanita.finanze.it/FseInsServicesWeb/services/fseComunicazioneMetadati")
Dim Client = New FSE_ComMetadati.comunicazioneMetadatiPTClient(myBinding, ea)
Il client invece va creato come ti mostravo nell'esempio precedente, cioè semplicemente così. In questo modo il client cercherà la configurazione nel file web.config.
Dim client = New FSE_ComMetadati.comunicazioneMetadatiPTClient()
'Poi il resto va bene così com'era
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12
'Se hai errore "Impossibile stabilire una connessione sicura", allora decommenta questa riga, almeno finché sei in sviluppo
'System.Net.ServicePointManager.ServerCertificateValidationCallback = Function(sender, certificate, chain, sslPolicyErrors) True
Dim richiesta As New FSE_ComMetadati.ComunicazioneMetadatiRichiesta()
richiesta.documento = File.ReadAllBytes("D:\LabnetW\CDA_Referto-signed.xml")
client.comunicazioneMetadati(richiesta)
Bisogna fare una correzione: dato che l'endpoint è HTTPS (cioè https://fseservicetest.sanita.finanze...), allora dovrai usare il basicHttpsBinding, anziché il basicHttpBinding. Ecco la nuova configurazione da mettere nel web.config.
<system.serviceModel>
<bindings>
<basicHttpsBinding>
<binding name="comunicazioneMetadatiBinding" messageEncoding="Mtom" />
</basicHttpsBinding>
</bindings>
<client>
<endpoint address="https://fseservicetest.sanita.finanze.it/FseInsServicesWeb/services/fseComunicazioneMetadati"
binding="basicHttpsBinding" bindingConfiguration="comunicazioneMetadatiBinding"
contract="FSE_ComMetadati.comunicazioneMetadatiPT" name="fseComunicazioneMetadati" />
</client>
</system.serviceModel>
Questo servizio prevede qualche tipo di autenticazione? Con certificati client o in altro modo?
ciao,
Moreno
Modificato da BrightSoul il 23 giugno 2019 12:01 -