microsoftgraph / microsoftgraph/msgraph-sdk-php
Creating an OnlineMeeting for an organizer without TollFree Numbers causes Kiota deserialization error
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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