microsoft.graph.onPremisesPublishing wrong serialization

Offen
#1,542 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
52/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
python
Bereich
api

Rechercherichtung

Beginne mit den generierten Application- und OnPremisesPublishing-Modellen sowie dem in der Reproduktion verwendeten JsonSerializationWriter. Führe das bereitgestellte Serialisierungsbeispiel aus und vergleiche dessen Ausgabe von onPremisesPublishing mit dem additional_data-Workaround. Als abgeschlossen gilt die Arbeit, wenn das SDK JSON ausgibt, das vom Backend akzeptiert wird, und die Patch-Anforderung nicht mehr InvalidJson_BadRequest zurückgibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

status:waiting-for-triage type:bug
Describe the bug

Same bug as in the PHP SDK from 2025

https://github.com/microsoftgraph/msgraph-beta-sdk-php/issues/356


from msgraph_beta import GraphServiceClient as BetaClient
from msgraph_beta.generated.models.application import Application as Application
from msgraph_beta.generated.models.on_premises_publishing import OnPremisesPublishing
from msgraph_beta.generated.models.external_authentication_type import ExternalAuthenticationType

request_body = Application(
    on_premises_publishing = OnPremisesPublishing(
        external_authentication_type=ExternalAuthenticationType.Passthru,
        internal_url="http://localhost:65001",
        external_url="https://whatever",
        is_http_only_cookie_enabled=False,
        is_on_prem_publishing_enabled=True,
        is_persistent_cookie_enabled=False,
        is_secure_cookie_enabled=False,
        is_state_session_enabled=False,
        is_translate_host_header_enabled=False,
        is_translate_links_in_body_enabled=False,
        is_backend_certificate_validation_enabled=False
    ),
)

from kiota_serialization_json.json_serialization_writer import JsonSerializationWriter
writer = JsonSerializationWriter()
request_body.serialize(writer)
print(writer.get_serialized_content().decode('utf-8'))

Output:

{"@odata.type": "#microsoft.graph.application", "onPremisesPublishing": {"externalAuthenticationType": "passthru", "externalUrl": "https://whatever", "internalUrl": "http://localhost:65001", "isBackendCertificateValidationEnabled": false, "isHttpOnlyCookieEnabled": false, "isOnPremPublishingEnabled": true, "isPersistentCookieEnabled": false, "isSecureCookieEnabled": false, "isStateSessionEnabled": false, "isTranslateHostHeaderEnabled": false, "isTranslateLinksInBodyEnabled": false}}

await beta_client.applications.by_application_id(app.application.id).patch(request_body) then fails with

        APIError
        Code: 400
        message: None
        error: MainError(additional_data={}, code='InvalidJson_BadRequest', details=None, inner_error=InnerError(additional_data={}, client_request_id='xxxx', date=datetime.datetime(2026, 7, 10, 8, 49, 27), odata_type=None, request_id='xxxx'), message='Valid JSON content expected.', target=None)
Expected behavior

proper error message and properly serialized data sent to the backend

How to reproduce

see above

SDK Version

1.59.0

Latest version known to work for scenario above?

No response

Known Workarounds

        request_body = BetaApplication(
            additional_data = {
                "microsoft.graph.onPremisesPublishing": {
                    "@odata.type": "#microsoft.graph.onPremisesPublishing",
                    "externalAuthenticationType": "passthru",
                    "internalUrl": "http://localhost:65001",
                    "externalUrl": EXTERNAL_URL,
                    "isHttpOnlyCookieEnabled": False,
                    "isOnPremPublishingEnabled": True,
                    "isPersistentCookieEnabled": False,
                    "isSecureCookieEnabled": False,
                    "isStateSessionEnabled": False,
                    "isTranslateHostHeaderEnabled": False,
                    "isTranslateLinksInBodyEnabled": False,
                    "isBackendCertificateValidationEnabled": False
                }
            }
        )
Debug output

No response

Configuration

No response

Other information

No response

Vorherrschende Sprache
Python
Sterne
630
Forks
96
Ø Merge
15 Std. 20 Min.
Gemergte PRs (30 T.)
3

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoftgraph/msgraph-sdk-python

Alle Issues in microsoftgraph/msgraph-sdk-python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.