Che tipo di servizio web può essere chiamato con solo un URL del browser?

2

Un webservice può essere scritto in modo tale da poter essere richiamato solo tramite un URL del browser?

Ad es. se il servizio web è chiamato GetStockQuote, allora dovrebbe essere richiamabile dal seguente URL sul browser

http://myserver.com/WebServices/GetStockQuote?sym=MSFT

Allo stesso modo, se ci sono più parametri, possono essere passati tramite l'URL.

Diversamente da questo - link - dove non sembra che il parametro possa essere passato tramite un URL. Sembra che sia necessario un programma o un essere umano per digitare il parametro & fai clic su invoke.

O richiede sempre un programma client? C'è un modo da wsdl per capire se può essere chiamato da un browser o no.

Come posso programmare un servizio web che soddisfi i criteri sopra riportati?

    
posta user93353 28.03.2014 - 03:36
fonte

2 risposte

3

Ovviamente un servizio web può essere chiamato direttamente dal browser! Si chiama servizio web RESTful. Qualsiasi API RESTful che utilizza il metodo GET (al contrario di POST, che è quello che viene utilizzato dall'esempio), può essere spostata digitando l'URL. Ecco un esempio:

http://rxnav.nlm.nih.gov/REST/rxcui?name=lipitor

Questa API, dal National Institutes of Health, ottiene un identificatore di prescrizione per un farmaco basato sul suo nome (qui, "Lipitor").

Per programmare un servizio web che agisce in questo modo, devi scrivere una risposta a una richiesta HTTP GET - tuttavia vuoi avvicinarti a quello, in qualsiasi lingua tu voglia (se fornisci maggiori dettagli, io d felice di aiutare). L'altra cosa delle richieste GET è che dovrebbero solo recuperare i dati; non possono avere effetti collaterali di alcun tipo. Per questo tipo di richieste, è necessario utilizzare POST, DELETE, ecc., Che non possono essere semplicemente digitati in un browser.

    
risposta data 28.03.2014 - 03:43
fonte
0

Se hai un wsdl, probabilmente stai codificando su un wrapper C # che astrae tutte le risposte HTTP in una busta SOAP standard. Che sento funzionare abbastanza bene se tutti parlano la stessa varietà di SOAP, non si vogliono realmente emergenti mashup cross-platform che incorporano il vostro servizio.

Supponendo che tu stia utilizzando il presunto C #, puoi scrivere un servizio "RESTful" semplicemente sfruttando le radici classiche ASP di ASP.NET e creando una pagina che restituisca un corpo di XML o JSON. Punti bonus per includere un'opzione per entrambi e utilizzando uno schema stabilito o fornendo un XSL a misura d'uomo.

(E se non stai usando ASP.NET, la stessa pratica può essere utilizzata in PHP, Node, JSP o in quello che hai. E probabilmente puoi trovare una libreria C # pura per fare lo stesso, se davvero la vedi. )

    
risposta data 28.03.2014 - 04:32
fonte

Leggi altre domande sui tag