WebService

martedì 12 ottobre 2004 - 12.19

LeonDom Profilo | Senior Member

Ciao a tutti,
ho un problemino o meglio, forse ancora non sono riuscito a capire bene i WebService.

Ho una pagina WebService.asmx di prova, con cui mi collego per la gestione di alcuni servizi, tipo la convalida del codice fiscale, la convalida di carte di credito, la convalida di altri dati.
Nella mia applicazione sul portatile e sul server che ospita le pagine locale funziona, mentre da un client nella intranet no. Cosa sbaglio? Visto che è il primo WebService che faccio ed è da poco che ho cominciato a studiarne il funzionamento, qualcuno può aiutarmi?

Grazie 1000,

LeonDom

Coach Profilo | Guru

>Ho una pagina WebService.asmx di prova, con cui mi collego per la gestione di alcuni servizi, tipo la >convalida del codice fiscale, la convalida di carte di credito, la convalida di altri dati.
>Nella mia applicazione sul portatile e sul server che ospita le pagine locale funziona, mentre da un client >nella intranet no. Cosa sbaglio? Visto che è il primo WebService che faccio ed è da poco che ho >cominciato a studiarne il funzionamento, qualcuno può aiutarmi?

Hai fatto il deploy del webservice altrimenti non riuscirai mai ad usarlo, ti ritora qualche errore?

Comunque i passi sono
Fare il deploy del webservice(come avviene per le applicazioni web)
Dal client fare addwebreference
Instanziare il webservice e richiamare i metodi che ti servono

e il gioco è fatto :-)

LeonDom Profilo | Senior Member

Grazie Coach ci sono riuscito anche su un client della Intranet.
(Funziona alla perfezione, mancava un passaggio che non facevo).

Diciamo che dichiaro il WebService in Questo modo:

Dim NewWS as New WSUt.WSTest

posso richiamare i metodi del Web Service semplicemente da codice come se richiamassi i metodi di una classe?
Tipo:
NewWS.GetCodiceFiscale(parametri... bla bla bla)

Non so se la domanda è stupida ma ho ancora qualche lacuna in merito e visto che è un argomento complesso preferisco chiederti.

Grazie per la pazienza...

LeonDom


Coach Profilo | Guru

>Diciamo che dichiaro il WebService in Questo modo:
>Dim NewWS as New WSUt.WSTest
>posso richiamare i metodi del Web Service semplicemente da codice come se richiamassi i metodi di una >classe?
>Tipo:
>NewWS.GetCodiceFiscale(parametri... bla bla bla)

Si esattamente, considera che quando istanzi un webservice non fai altro che istanziare una classe(proxy) che ti permette di usare i metodi che possono ritornare o meno un valore.
I webservice passano i dati tramite il protocollo soap che utilizza xml quindi quando costrusci un web service i valori che ritorni devono essere serializzabili e quindi devo implementare un l'interfaccia Iserializable, esempio puoi ritornare un dataset ma non un datareader.

>Grazie per la pazienza...

Prego

LeonDom Profilo | Senior Member

Coach,
rettifico quanto detto ieri, non funziona proprio nulla. Il client non era un semplice client, comunque... ti riassumo:

Voglio provare a fare tipo i vostri WebService, ossia con un link mi deve apparire la classica pagina .asmx con l'elenco dei servizi.

lo faccio in questo modo:

Imports NewIntranet.WSUt.WebSutilities
...
...
...
Dim WS As New WSUt.WebSutilities
lnkWebService.NavigateUrl = Srv.Url

L'errore che mi da sul client è iil seguente:
Impossibile trovare la risorsa HTTP 404.

sul server sotto wwwroot ci sono le cartelle WebSUtilities e la cartella che contiene le pagine ASP.NET (miosito). All'interno di questa cartella è stata create la cartella web reference/WSUt/......tutti i file .asmx etc etc...

Cosa sbaglio?

AriGrazie per la pazienza.

LeonDom

Coach Profilo | Guru

>L'errore che mi da sul client è iil seguente:
>Impossibile trovare la risorsa HTTP 404.

>sul server sotto wwwroot ci sono le cartelle WebSUtilities e la cartella che contiene le pagine ASP.NET (miosito). All'interno di questa cartella è stata create la cartella web reference/WSUt/......tutti i file .asmx etc etc...
>
>Cosa sbaglio?
Hai visto su iis se la tua cartella è stata creata come applicazione? se non è così vai nelle proprietà e creala

>AriGrazie per la pazienza.
AriPrego :)

LeonDom Profilo | Senior Member

Niente non ne vengo a capo... non mi funziona, mi fa inK.......
eppure ho seguito tutti i tuoi consigli.
Te la butto lì... potrebbe essere una qualche configurazione del server sbagliata o addirittura un fatto di protezione del WebService?
Ho letto da qualche parte che se non sono consentiti gli accessi anonimi all'interno di IIS le richieste dei client per i file .asmx falliscono senza nessun messaggio.
Io invece ho il solito:
... IMposibile trovare la risorsa. HTTP 404 la risorsa che si sta cercando... etc etc etc.
URL richiesto: /WebSUtilities/WebSUtilities.asmx


Grazie... 1000 a chiunque mi possa aiutare

LeonDom

Coach Profilo | Guru

>Te la butto lì... potrebbe essere una qualche configurazione del server sbagliata o addirittura un fatto di >protezione del WebService?
Assolutamente no
>Ho letto da qualche parte che se non sono consentiti gli accessi anonimi all'interno di IIS le richieste dei >client per i file .asmx falliscono senza nessun messaggio.
>Io invece ho il solito:
>... IMposibile trovare la risorsa. HTTP 404 la risorsa che si sta cercando... etc etc etc.
>URL richiesto: /WebSUtilities/WebSUtilities.asmx

Ma una domanda il webservice l'hai compilato? hai visto se funziona? ti ha creato il file wsdl?

LeonDom Profilo | Senior Member

Ovviamente l'ho compliato, sul mio portatile funziona e mi ha creato il file WSDL.

Però quando copio sia la cartella del sito che la cartella contenente il progetto del WebService nel server, sotto la wwwroot, cerco di aprile il link e non va mi da quell'errore.

LeonDom
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2013
Running on Windows Server 2008 R2 Enterprise, SQL Server 2008 & ASP.NET 3.5