43 messaggi dal 03 maggio 2006
Buongiorno a tutti
vi contatto perchè devo collegarmi al web service del veneto (demVisualizzaErogatomef20)

Mi viene richiesta un autenticazione con token SAML 2.0.
Per altre regioni ho utilizzando,con successo, la BasicAuthenticationBehavior come sotto vi allego:

BasicHttpsBinding bhttps = new BasicHttpsBinding();
client = new ws_VisualizzaErogato.visualizzaErogatoPTClient(bhttps, ea);

BasicAuthenticationBehavior bb = new BasicAuthenticationBehavior(user,passw);

client.Endpoint.EndpointBehaviors.Add(bb);
...

Potreste suggerirmi dove posso trovare le specifiche per utilizzare l'autenticazione token SAML 2.0??
Non riesco a comprendere come integrarla..

Grazie a tutti!!!
47 messaggi dal 16 aprile 2008
www.pollosky.it
Ciao a tutti, c'è qualcuno che ha esperienza con l'invio della fattura elettronica? Sto provando a gestire l'invio fattura con il sistema SDICoop (web service); dovrei essere riuscito a stabilire la connessione ma ogni volta che provo ad invocare il servizio "ricevi_file" mi restituisce "Internal Error".

Qualcuno ha esperienze in merito? Sapete dove posso trovare del codice di esempio? Grazie.

Luca
1 messaggio dal 15 febbraio 2022
sem ha scritto:
Ciao Moreno,

Innanzitutto grazie. Sono certo che le indicazioni che mi hai fornito sono risolutive, anche perché avevo già trovato qualcosa in proposito (aggiunta dell'header Authentication (Basic + credenziali in base64) ma non avevo idea di come far funzionare questa cosa utilizzando i WS e il binding.

Purtroppo continuo a ricevere lo stesso errore, nonostante l'aggiunta delle classi che mi hai passato. Inizialmente avevo imputato il problema a qualche mio errore durante la conversione C#->VB (il mio progetto è in VB), ma poi ho provato ad usare direttamente le tue classi e ho riscontrato lo stesso problema. Dalle prove fatte con il trace, pare che non venga eseguito il seguente codice presente nella classe Inspector:

if (richiestaHttp != null)
{
  // NON VIENE ESEGUITO
  richiestaHttp.Headers.Add("Authorization", _authorization);
}


Questo è il codice che sto utilizzando:

PlaceHolder.Text = ""

        ' Per bypassare il problema del certificato non valido
        System.Net.ServicePointManager.ServerCertificateValidationCallback = Function(se As Object, cert As System.Security.Cryptography.X509Certificates.X509Certificate, chain As System.Security.Cryptography.X509Certificates.X509Chain, sslerror As System.Net.Security.SslPolicyErrors) True
        
        Dim richiesta As New demVisualizzaErogato.VisualizzaErogatoRichiesta()

        ' Il codice Ufficio contiene i tre codici di seguito nella forma CodiceRegione(3car)-CodiceAslErogatore(3car)-CodiceSsaErogatore(6car)
        ' Autenticazione Laboratorio (Sicilia)
        richiesta.codiceRegioneErogatore = "190"
        richiesta.codiceAslErogatore = "201"
        richiesta.codiceSsaErogatore = "888888"
        richiesta.pinCode = "0Gv1vsTpzlvRD9kBd8FVLo2/441rZ8rRZVf0Zi9eO6+L7kme0KC8Vx6ZjRj/4JjA4aHPTCi3D6YW9OtmYkIpW7sfchmhqHdVORBZHPitiPHdr5iIipAhIzBhFOQIPfpYasW5cQmU//uNB4GSWSNDIkaqdMrDjTPpIkbKKeoA4dQ=" ' Sicilia

        ' Ricerca della ricetta
        ' ve.cfAssistito = "PNIMRA70A01H501P" ' Utente regione Sicilia (deve essere criptato)
        richiesta.cfAssistito = "T8L5DQ4L7vZWEQ3gGWUhMYYRoGZAIsZSCZ4AieAmIKZ85B6HarO5s/jhtnp5m4r44JiwBRPYyYxtzP4npmLyk8zFSSuVxDAU3oaUdO0lOnDWKZjf886o2nbmSsPEiXYlTaJnWRU420qrQ4Sa2HfEK/32wXsOSq7TCpoMFYhkXeA="
        richiesta.nre = "1900A4000004510" ' è un campo obbligatorio

        richiesta.tipoOperazione = "1"
        ' Possibili valori (vedi pp 13/14)
        ' 1 = visualizzazione e presa in carico con recupero dati
        ' 2 = visualizzaizone e presa in carico senza recupero dati
        ' 3 = rilascio della ricetta
        ' 4 = visualizzazione dei dati dell'assistito oscurati dal medico
        ' 5 = visualizzazione e presa in carico riservata al CUP

        ' Create the binding.
        Dim myBinding As New BasicHttpsBinding()
        ' myBinding.Security.Mode = SecurityMode.Transport
        ' myBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic

        Dim ea As New EndpointAddress("https://demservicetest.sanita.finanze.it/DemRicettaErogatoServicesWeb/services/demVisualizzaErogato")

        Dim invio As New demVisualizzaErogato.visualizzaErogatoPTClient(myBinding, ea)
        ' invio.Endpoint.Address = ea
        Dim ricevuta As demVisualizzaErogato.VisualizzaErogatoRicevuta

        invio.Endpoint.EndpointBehaviors.Add(New BasicAuthenticationBehavior("UWT3CBXX", "PBUW9EBP"))

        ricevuta = invio.visualizzaErogato(richiesta)

        ' Giusto per dare un'occhiata a cosa è stato recuperato.
        If Not ricevuta Is Nothing Then
            For i As Long = 0 To ricevuta.ElencoDettagliPrescrVisualErogato.Count - 1
                PlaceHolder.Text &= "codice presidio: " & ricevuta.ElencoDettagliPrescrVisualErogato(i).codPresidio & " - "
                PlaceHolder.Text &= ricevuta.ElencoDettagliPrescrVisualErogato(i).descrProdPrestErog & "<br />"
            Next
        End If

        'Restore SSL Certificate Validation Checking
        System.Net.ServicePointManager.ServerCertificateValidationCallback = Nothing


N.B. I valori sono di test e le password sono pubbliche :)

Ho pubblicato il progetto con le classi C# a questo link:
http://www.dotcom.it/download/dem-ricetta2.zip


Ancora grazie!

Sebastiano
Modificato da sem il 07 agosto 2014 16.44 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.