2012-11-12 4 views
5

Dopo alcuni suggerimenti su come iniziare a chiamare il servizio web REST REST da un webclient .NET MVC.Guida introduttiva all'API del servizio web REST REST

mi è stato dato informazioni servizio web qui:

https://rally1.rallydev.com/slm/doc/webservice/

così posso vedere che posso utilizzare un URL per accedere alle informazioni da Rally - Simile a:

https://rally1.rallydev.com/slm/webservice/1.39/task?query=((Owner.Name 
= [email protected]) and (State != Completed))&order=Rank&fetch=true&stylesheet=/slm/doc/webservice/browser.xsl 

Tuttavia quello su cui non sono chiaro è come autenticarsi prima di fare la mia richiesta?

Sono nuovo ai servizi web REST (ho eseguito il SOAP/WSDL da qualche tempo) - quindi non sembra che con REST si debba aggiungere un riferimento a qualcosa per ottenere le classi client create? È corretto? Che tu crei un HTTPRequest usando un URI - e fai la chiamata, recuperando un HTTPResponse (che posso eventualmente fare qualcosa con).

Un sacco di esempi sembrano avere specifiche classi servizio/API che chiamano metodi o accesso alle proprietà - quindi non sono sicuro che sia perché usano SOAP piuttosto che REST - o che li hanno creati loro stessi.

Forse sto guardando la documentazione sbagliata in quanto sembra presumere che tu sappia come essere autenticati. O mi manca un riferimento?

risposta

8

I documenti di servizio Web principali trovati sono ideali per esplorare gli oggetti e i campi nel modello di dati. Dal momento che si sta utilizzando .NET probabilmente ti consigliamo di controllare il nostro kit di strumenti .NET RIPOSO:

http://developer.rallydev.com/help/rest-api-net

Troverete esempi per iniziare con le operazioni di query che fornisce CRUD +. L'autenticazione è fatta per te. Ci sono un numero decente di domande ed esempi di codice relativi al toolkit proprio qui su Stackoverflow pure se ti blocchi.

+0

Grazie - questo è un grande legame :) – Jen

+0

C'è alcuna documentazione su quali tipi di attributi sono validi e quali attributi sono validi. per esempio. Voglio creare una richiesta di "difetto" o "requisito gerarchico", ma conosco solo quei valori degli esempi di altre persone. Inoltre, non so a cosa attribuisca effettivamente un "requisito gerarchico" su cui poter interrogare. per esempio. So che "difetto" ha nome e stato - ma di nuovo solo a causa di esempi limitati. Grazie! – Jen

+2

Controlla https://rally1.rallydev.com/slm/doc/webservice - questo collegamento contiene tutti i dettagli sul modello di oggetti API Webservices, Artefatti, tipi di campo, valori validi, ecc. –

2

So che la domanda è vecchia, ma questo potrebbe aiutare qualcun altro. È necessario passare un'intestazione di autenticazione di base con il proprio nome utente e password con codifica Base64 come parte della richiesta get(). Ho trovato queste informazioni su un Atlassian documentation page e l'ho applicato con successo a Rally API 3.0 (dovrebbe funzionare anche con 2.0). Quindi, nella vostra richiesta get(), includere un'intestazione simile al seguente:

auth_header = 'Authorization : Basic ' + base64_encode('username:password')