Skip to content

BatchResponseContent.GetResponseByIdAsync<T> throws nullref exception if response was not found #368

@yuradz

Description

@yuradz

Describe the bug
BatchResponseContent.GetResponseByIdAsync throws nullref exception if response was not found

   at Microsoft.Graph.BatchResponseContent.<ValidateSuccessfulResponse>d__15.MoveNext()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Graph.BatchResponseContent.<GetResponseByIdAsync>d__13`1.MoveNext()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at AzureTest.Program.<Main>d__0.MoveNext() in C:\Users\yuri.dzyha\Desktop\AzureTest\AzureTest\Program.cs:line 31

To Reproduce

var tenantId = "***";
var clientId = "***";
var clientSecret = "***";
var scopes = new[] { "https://graph.microsoft.com/.default" };
var options = new TokenCredentialOptions { AuthorityHost = AzureAuthorityHosts.AzurePublicCloud };
var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret, options);
var graphClient = new GraphServiceClient(clientSecretCredential, scopes);
var reqId = Guid.NewGuid().ToString();
var req = graphClient.Users.Request();
var step = new BatchRequestStep(reqId, req.GetHttpRequestMessage());

var responses = await graphClient.Batch.Request().PostAsync(new BatchRequestContent(step));
var response = await responses.GetResponseByIdAsync<GraphServiceUsersCollectionResponse>("not-existing-id");

Expected behavior
responses.GetResponseByIdAsync will return null

Client version
Microsoft.Graph version="4.17.0" targetFramework="net472"

Metadata

Metadata

Assignees

Labels

BugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions