J'essaie d'appeler un service multiple dans une application C#. La réponse d'un service est transmise en tant que paramètre d'entrée à l'autre service. Comme la réponse premier service est un tableau de nombres, d'appeler l'autre service dans une boucle comme ci-dessousAppel de plusieurs services Web à partir de l'application C#
public async Task<IHttpActionResult> Get()
{
......
var response = await iLab_client.GetAsync(uri_serviceid);
var datafile = await response.Content.ReadAsStringAsync();
var returnDataObj = JsonConvert.DeserializeObject<Models.ReqDTO.RootObject>(datafile);
foreach (var req in returnDataObj.il_response.svc_req)
{
int request_id = req.id;
//Calling the other service passing the input parameter
using (var iLab_client_request = new HttpClient())
{
string request_Uri = BaseURL_iLab + "svc_req/"+request_id+"/c_forms.json";
Uri uri_request = new Uri(request_Uri);
client_request.BaseAddress = uri_request;
client_request.DefaultRequestHeaders.Accept.Clear();
client_request.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client_request.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken);
var request_response = await client_request.GetAsync(uri_request);
var responsefile = await request_response.Content.ReadAsStringAsync();
var request_returnDataObj = JsonConvert.DeserializeObject<Models.DTO.RootObject>(responsefile);
return Ok(request_returnDataObj);
}}}
Il trows erreur en disant 'GetResponseFromiLabAPIController.Get()': not all code paths return a value
Je comprends que je dois créer un objet qui permet de stocker les réponses à l'aide du Add()
et le renvoyer de l'extérieur de la boucle for. Mais je ne suis pas sûr quel devrait être le type d'objet qui peut stocker toutes les réponses de chaque appel de service.