38 messaggi dal 27 dicembre 2011
Ciao a tutti,

ho implementato un client che contatta dei web service. Dal debug di Visual Studio funziona tutto correttamente, mentre se lancio l'exe sembra che non riesco a contattare il web service.

Ho notato che nel machine.config c'è questa voce

<add name="Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior" type="Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior, Microsoft.VisualStudio.Diagnostics.ServiceModelSink, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>


togliendola non funziona neanche con il debbugger.

E' già capitato a qualcuno di voi?

Allego il messaggio di errore

Server stack trace: 
   in System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   in System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   in System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   in System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   in System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   in System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)

Modificato da marco.morgia83 il 12 marzo 2019 18:22 -
Modificato da marco.morgia83 il 12 marzo 2019 18:22 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Marco,
hai postato lo stack trace, ma puoi postare anche il testo dell'errore?

Enjoy learning and just keep making
38 messaggi dal 27 dicembre 2011
Ciao,

si ho postato lo stack perchè l'errore è abbastanza povero di dettagli.
Ho 2 tipi di errore, che avvengono casualmente ad ogni chiamata:

1) Credenziali errate
2) Errore generico

per completezza parliamo dei servizi per la ricetta dematerializzata.


Mi sono reso conto che io non passo mai il certificato per la connessione https, questo può essere un problema?

Se il motivo è questo perchè da Visual Studio (2018 e net framework 4.5) non ho problemi invece facendo partire l'exe si?

Grazie ancora
11.886 messaggi dal 09 febbraio 2002
Contributi

Se il motivo è questo perchè da Visual Studio (2018 e net framework 4.5) non ho problemi invece facendo partire l'exe si?

Boh, forse cambia la directory di lavoro e i tuoi percorsi non funzionano più. Per caso stai caricando un file (es. un pfx)? Come esprimi il suo percorso?

Se fosse questo il problema, leggi qui:
https://forum.aspitalia.com/forum/post/407726/Directory-Applicazione.aspx

ciao,
Moreno

Enjoy learning and just keep making
38 messaggi dal 27 dicembre 2011
In realtà non carico niente, o meglio io ho 2 certificati, uno che si dovrebbe utilizzare per la connessione, l'altro per criptare il Codice Fiscale.

Utilizzo solo il secondo, che è caricato come risorsa incorporata all'interno della DLL che gestiste le chiamate per la ricetta DEM.
11.886 messaggi dal 09 febbraio 2002
Contributi
Marco, è abbastanza inusuale che col debugger funzioni e dall'exe no. Anche perché il debugger è semplicemente un componente che osserva l'exe funzionare. Lo stesso exe che tu hai lanciato a mano.

A parte la differenza di percorso di cui parlavo prima, un'altra differenza potrebbe essere quella della modalità di compilazione: col debugger compili in modalità Debug, mentre l'exe l'hai compilato in modalità Release (?). La modalità di compilazione non causerà differenze nel comportamento a meno che tu non abbia messo delle direttive #if per il compilatore o usato delle web.config transforms.

Un'altra differenza potrebbe essere che Visual Studio lo avvii come amministratore, mentre l'exe lo lanci normalmente come utente.

È difficile capire cosa sta succedendo senza poter vedere il codice e senza vedere cosa fai per lanciare l'applicazione.

Sicuro, sì, che quando lanci il debug funziona tutto? Come hai fatto a verificarlo? Il server cosa risponde?

ciao,
Moreno
Modificato da BrightSoul il 12 marzo 2019 22:51 -

Enjoy learning and just keep making
38 messaggi dal 27 dicembre 2011
Ciao,

sto lavorando solo in debug. Con visual studio ottengo una risposta completa dal server remoto, mentre se lancio l'exe il server mi ritorna errore (quei 2 indicati prima).

Sinceramente una cosa del genere non mi era mai capitata. Ho fatto lo stesso test anche su un'altra macchina e ho sempre lo stesso comportamento.

Per quanto riguarda il .config (app.config nel mio caso)non c'è nulla che va a leggere, anche perchè il binding e l'endpoint è creato lato codice. Ho provato anche ad escludere l'app.config e col debbuger funziona senza problemi.

L'unica cosa che ho notato è che quando setto l'endpoint behaviour
visualizzaErogato.Endpoint.EndpointBehaviors.Add(authenticationBehavior);

col debugger ne ho visti 3 tra cui Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior, mentre se avvio l'exe ne ho solo 2
{System.ServiceModel.Description.ClientCredentials} e il behaviour della mia applicazione dove setto le usercredential.

L'EndpointBehaviour Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior lo prende dal machine.config, se provo a cancellarlo infatti non funziona più anche in debug.



Considera che ho preso spunto dalla tua soluzione (presa da un altro post) sempre inerente alla ricetta dematerializzata
Modificato da marco.morgia83 il 12 marzo 2019 23:18 -
11.886 messaggi dal 09 febbraio 2002
Contributi

Con visual studio ottengo una risposta completa dal server remoto,

Ok, cosa sta rispondendo il server remoto? Riporta l'output XML e lo status code HTTP.

Enjoy learning and just keep making

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.