1 messaggio dal 10 settembre 2015
Ciao a tutti,
ho qualche problema a collegarmi ai webservices di Sogei: le indicazioni di questo thread mi sono state utilissime per risolvere alcuni di questi problemi.

Ora dovrei richiamare un servizio che permette l'invio di file allegati (zip) attraverso la modalità Soap with Attachment (SwA) che descrive il trasporto degli stessi mediante una struttura di tipo MIME.

Non sono riuscito ad implementare una soluzione funzionante ne utilizzando HttpWebRequest ne una classe proxy come quella indicata nelle prima pagine del thread (con BasicHttpsBinding).

Se si riuscisse userei la soluzione con la classe proxy, ma non riesco ad impostare alcun attachment...
Avete qualche suggerimento?
5 messaggi dal 24 marzo 2011
finalmente ho avuto un po di tempo da ridedicarmi a questo progetto e, seguendo il tuo consiglio, ho risolto il problema.

ciao e grazie molto per l'aiuto
5 messaggi dal 04 dicembre 2009
Anche a me interesserebbe molto qualche dritta sull'argomento

m.
1 messaggio dal 12 novembre 2015
Ciao a tutti,
seguendo le indicazioni sulle prime pagine della discussione sono riuscito ad implementare un WCF che funge da tramite tra il WS di SOGEI e i miei client.
Quindi, i miei client, si connetteono al mio WCF che si connette poi al WS di SOGEI.
Funziona tutto regolarmente, quantomeno in ambiente di test.
Non appena installo il WCF su Windows Server (ho provato sia 2003 che 2012) e richiamo una qualsiasi operazione 8ad esempio VisualizzaErogatoRichiesta) ricevo il seguente errore:

System.ServiceModel.CommunicationException: An error occurred while making the HTTP request to https://demservice.sanita.finanze.it/DemRicettaErogatoServicesWeb/services/demVisualizzaErogato. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server. ---> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) --- End of inner exception stack trace --- at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count) at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result) at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.ConnectStream.WriteHeaders(Boolean async) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.GetResponse() at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) --- End of inner exception stack trace ---

Quindi è come se non riuscissi a mettermi in contatto col WS di SOGEI.

A qualcuno è mai capitata una cosa simile?
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
dato che in fase di testing sta funzionando, direi che il problema vada ricercato tra le cose che differenziano il server dal tuo PC di sviluppo.
Nel testo dell'errore si legge:

System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host

Non è che per caso ti stanno bloccando l'accesso dall'indirizzo IP del server?

Enjoy learning and just keep making
1 messaggio dal 12 maggio 2015
Ciao a tutti,
mi sono imbattuto anche io nell'invio dei dati sanitari per il 730 precompilato. Devo integrare l'invio nel gestionale sviluppato con PowerBuilder 11.5, attingendo alle mie poche conoscenze di c# e grazie al forum sono riuscito a scrivere una dll per la comunicazione dei dati e il recupero delle ricevute. Il problema che ora mi sta bloccando è la cifratura del codice fiscale, il sistema mi torna sempre l'errore "E009 - il cf del proprietario non è correttamente cifrato", qualcuno ha qualche dritta da darmi? Di seguito trovate il codice per la cifratura, il certificato che uso è quello presente nel kit di sviluppo del 22-12-2015. Grazie

public bool rsaEncrypt(string inString, string inCertSubject, out string outSTring, out string errMsg)
{

bool bReturn = true;
outSTring = "";
errMsg = "";
X509Certificate2Collection certCollection, certCollectionFind;
X509Certificate2 cert;
X509Store store;
string stringToEncrypt;
RSACryptoServiceProvider rsa;
UTF8Encoding encodingToUse = new UTF8Encoding();
byte[] message, cryptedData;
try
{
store = new X509Store(StoreName.AddressBook, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
certCollection = new X509Certificate2Collection();
certCollectionFind = new X509Certificate2Collection();
certCollection = store.Certificates;
WriteLog("store trovato", this.GetType().Name);
cert = new X509Certificate2();
stringToEncrypt = inString;

rsa = new RSACryptoServiceProvider();
WriteLog(store.ToString(), this.GetType().Name);
RSAParameters RSAKeyInfo = new RSAParameters();
RSAKeyInfo = rsa.ExportParameters(false);
WriteLog(RSAKeyInfo.ToString(), this.GetType().Name);
WriteLog("cert " + store.Certificates.Count.ToString(), this.GetType().Name);
certCollectionFind = store.Certificates.Find(X509FindType.FindBySubjectName, inCertSubject, false);
if (certCollectionFind.Count > 0)
{
WriteLog("trovato certificato", this.GetType().Name);
cert = certCollectionFind[0];
}

store.Close();
RSAKeyInfo.Modulus = cert.GetPublicKey();
rsa.ImportParameters(RSAKeyInfo);

message = Encoding.ASCII.GetBytes(stringToEncrypt);
cryptedData = rsa.Encrypt(message, false);
outSTring = Convert.ToBase64String(cryptedData);
}
catch (Exception e)
{
WriteLog(e.Message, this.GetType().Name);
errMsg = e.Message;
outSTring = "";
return false;
}
return bReturn;
}
5 messaggi dal 22 aprile 2016
Ciao a tutti ho un po' di difficoltà ad aggiungere alla fine del SOAP HEADER dopo </security> questo campo

<wsctx:CICS-TOKEN xmlns:wsctx="http://www.cedacri.it">7UM70BM1</wsctx:CICS-TOKEN>

Per user e password ho usato wse ma quel campo con so come passarlo, potete aiutarmi?
Grazie.
7 messaggi dal 07 gennaio 2002
www.artcava.net
Ho ancora un problema nella gestione della comunicazione con i servizi Sogei per la ricetta elettronica...

Avendo costruito le classi con wsdl, mi sembra di aver capito, il tool non ha generato la classe Proxy, che nei vostri vari esempi si chiama:
visualizzaErogatoPTClient

Come faccio a crearla, oppure qualcuno riesce a recuperarmi le clasi C# che aveva postato sem???

sem ha scritto:

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 -


Grazie infinite

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.