microsoftgraph / microsoftgraph/msgraph-beta-sdk-php

Application `setOnPremisesPublishing` not working

Open
#356 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dependency:metadata ToTriage type:bug
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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.