microsoftgraph / microsoftgraph/msgraph-beta-sdk-php
Application `setOnPremisesPublishing` not working
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 13
- Forks
- 8
- Avg merge
- 14h 58m
- Merged PRs (30d)
- 3
Description
Describe the bug
Hi,
I am trying to update an applications onPremisesPublishing configuration, which isn't working.
I have used the following guide Configure Microsoft Entra application proxy using Microsoft Graph APIs which works until the Step 2.2 where the onPremisesPublishing settings should be set/updated.
I only get the follow translated OData-Error:
InvalidJson_BadRequest : Valid JSON content expected.
Expected behavior
That the settings would be set at the MS Graph Beta API would return an 204 - No Content.
How to reproduce
I used the following code Step 2.2: Configure the onPremisesPublishing property
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Application;
use Microsoft\Graph\Beta\Generated\Models\OnPremisesPublishing;
use Microsoft\Graph\Beta\Generated\Models\ExternalAuthenticationType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Application();
$onPremisesPublishing = new OnPremisesPublishing();
$onPremisesPublishing->setExternalAuthenticationType(new ExternalAuthenticationType('aadPreAuthentication'));
$onPremisesPublishing->setInternalUrl('https://contosoiwaapp.com');
$onPremisesPublishing->setExternalUrl('https://contosoiwaapp-contoso.msappproxy.net');
$onPremisesPublishing->setIsHttpOnlyCookieEnabled(true);
$onPremisesPublishing->setIsOnPremPublishingEnabled(true);
$onPremisesPublishing->setIsPersistentCookieEnabled(true);
$onPremisesPublishing->setIsSecureCookieEnabled(true);
$onPremisesPublishing->setIsStateSessionEnabled(true);
$onPremisesPublishing->setIsTranslateHostHeaderEnabled(true);
$onPremisesPublishing->setIsTranslateLinksInBodyEnabled(true);
$requestBody->setOnPremisesPublishing($onPremisesPublishing);
$result = $graphServiceClient->applications()->byApplicationId('application-id')->patch($requestBody)->wait();
SDK Version
v2.25.0
Latest version known to work for scenario above?
No response
Known Workarounds
I have tested around with the follow client bruno.
If I use the following body, I am able to update the settings:
{
"@odata.type": "#microsoft.graph.application",
"microsoft.graph.onPremisesPublishing": {
"@odata.type": "#microsoft.graph.onPremisesPublishing",
"isOnPremPublishingEnabled": true
}
}
This is the json body which is generated from the SDK:
{
"@odata.type": "#microsoft.graph.application",
"onPremisesPublishing": {
"isOnPremPublishingEnabled": true
}
}
which was not working as I have tried it with bruno.
Even using:
{
"@odata.type": "#microsoft.graph.application",
"onPremisesPublishing": {
"@odata.type": "#microsoft.graph.onPremisesPublishing",
"isOnPremPublishingEnabled": true
}
}
did not worked.
There must be something "in the back" what is causing the above mentioned error.
Debug output
Configuration
- OS: macOS Sequoia 15.1.1
- architecture: M3 Pro
- used PHP version:
PHP 8.3.16 (cli) (built: Jan 17 2025 01:31:19) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.16, Copyright (c) Zend Technologies
with Zend OPcache v8.3.16, Copyright (c), by Zend Technologies
with Xdebug v3.4.1, Copyright (c) 2002-2025, by Derick Rethans
Other information
I have check the OpenAPI-file at github.com/microsoftgraph/msgraph-metadata/blob/master/openapi/beta/openapi.yaml and couldn't see any issue/error why this is not working 😟
Disclaimer: I know that is the beta API version 😄
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 by comparing the generated Application and OnPremisesPublishing models with the beta openapi.yaml entry and the serialized request bodies shown in the report. Reproduce the PATCH using SDK v2.25.0, then verify that the emitted payload matches the working Bruno request and that the Graph API returns 204 No Content.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- openapi, php
- Domain
- api, developer-experience
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100