microsoftgraph / microsoftgraph/msgraph-sdk-python
microsoft.graph.onPremisesPublishing wrong serialization
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 630
- Forks
- 96
- Merge moyen
- 15 h 20 min
- PR mergées (30 j)
- 3
Description
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
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par les modèles générés Application et OnPremisesPublishing, ainsi que par le JsonSerializationWriter utilisé dans la reproduction. Exécutez l’exemple de sérialisation fourni et comparez sa sortie onPremisesPublishing avec le contournement additional_data. Le travail est terminé lorsque le SDK émet un JSON accepté par le backend et que la requête de patch ne renvoie plus InvalidJson_BadRequest.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- api
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 52/100