microsoftgraph / microsoftgraph/msgraph-sdk-php

Creating an OnlineMeeting for an organizer without TollFree Numbers causes Kiota deserialization error

Open
#1,731 5 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type:bug
Dominant language
PHP
Stars
669
Forks
150
Avg merge
15h 21m
Merged PRs (30d)
3

Description

Describe the bug

I am creating Online Meetings for users. For some users, this works fine. For others it does not.

Basic details are passed to create the meeting, and I need the OnlineMeeting body back to pull data.

It appears that when hydrating the models, the serialiser blows up at AudioConferencing. You will see this in the stack trace.

Expected behavior

It creates the meeting and returns the response

How to reproduce

Create a meeting with a user that has no Audio Conferencing Policy attached

SDK Version

2.49

Latest version known to work for scenario above?

No response

Known Workarounds

No response

Debug output
Click to expand log ```

{"error":"Collection of type=string contains value of type=null","extractedError":"Collection of type=string contains value of type=null","userId":"5a9c723f-e3a6-43fb-92b2-104d65409585","exception":"UnexpectedValueException","file":"/home/jiminny/vendor/microsoft/kiota-abstractions/src/Types/TypeUtils.php","line":33,"trace":"#0 /home/jiminny/vendor/microsoft/microsoft-graph/src/Generated/Models/AudioConferencing.php(97): Microsoft\Kiota\Abstractions\Types\TypeUtils::validateCollectionValues(Array, 'string')
#1 /home/jiminny/vendor/microsoft/kiota-serialization-json/src/JsonParseNode.php(147): Microsoft\Graph\Generated\Models\AudioConferencing->Microsoft\Graph\Generated\Models\{closure}(Object(Microsoft\Kiota\Serialization\Json\JsonParseNode))
#2 /home/jiminny/vendor/microsoft/kiota-serialization-json/src/JsonParseNode.php(120): Microsoft\Kiota\Serialization\Json\JsonParseNode->assignFieldValues(Object(Microsoft\Graph\Generated\Models\AudioConferencing))
#3 /home/jiminny/vendor/microsoft/microsoft-graph/src/Generated/Models/OnlineMeetingBase.php(276): Microsoft\Kiota\Serialization\Json\JsonParseNode->getObjectValue(Array)
#4 /home/jiminny/vendor/microsoft/kiota-serialization-json/src/JsonParseNode.php(147): Microsoft\Graph\Generated\Models\OnlineMeetingBase->Microsoft\Graph\Generated\Models\{closure}(Object(Microsoft\Kiota\Serialization\Json\JsonParseNode))
#5 /home/jiminny/vendor/microsoft/kiota-serialization-json/src/JsonParseNode.php(120): Microsoft\Kiota\Serialization\Json\JsonParseNode->assignFieldValues(Object(Microsoft\Graph\Generated\Models\OnlineMeeting))
#6 /home/jiminny/vendor/microsoft/kiota-http-guzzle/src/GuzzleRequestAdapter.php(170): Microsoft\Kiota\Serialization\Json\JsonParseNode->getObjectValue(Array)
#7 /home/jiminny/vendor/php-http/promise/src/FulfilledPromise.php(39): Microsoft\Kiota\Http\GuzzleRequestAdapter->Microsoft\Kiota\Http\{closure}(Object(GuzzleHttp\Psr7\Response))
#8 /home/jiminny/vendor/microsoft/kiota-http-guzzle/src/GuzzleRequestAdapter.php(145): Http\Promise\FulfilledPromise->then(Object(Closure))
#9 /home/jiminny/vendor/microsoft/microsoft-graph/src/Generated/Users/Item/OnlineMeetings/CreateOrGet/CreateOrGetRequestBuilder.php(46): Microsoft\Kiota\Http\GuzzleRequestAdapter->sendAsync(Object(Microsoft\Kiota\Abstractions\RequestInformation), Array, Array)

</details>


### Configuration

_No response_

### Other information

_No response_

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the AudioConferencing model at vendor/microsoft/microsoft-graph/src/Generated/Models/AudioConferencing.php and the TypeUtils validation reported at vendor/microsoft/kiota-abstractions/src/Types/TypeUtils.php. Reproduce creation of an OnlineMeeting for a user without an Audio Conferencing Policy, then trace the response deserialization. Done means the response is returned successfully without the null collection error.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.