IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

API Rest response.content est vide


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Par défaut API Rest response.content est vide
    Bonjour à tous

    J'ai mon code qui marche parfaitement en mode création mais quand je le déploie, il ne marche plus.
    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim idusercreat As String = ""
    Dim client As RestClient = New RestClient(ApiUri() + "/users?items.email=xxx")
    Dim EchecMessage as String = ""
    'GET CREATOR
    Try
        Dim request As RestRequest = New RestRequest(Method.GET)
        request.AddHeader("Authorization", "XXXXXXX")
        Dim response As IRestResponse = client.Execute(request)
        Dim user As Object = JsonConvert.DeserializeObject(response.Content)
        idusercreat = (user("items")(0)("id"))
    Catch ex As Exception
        EcheMessage= "Echec: " & ex.Message & " [Get creator]"
        Exit Function
    End Try
    Je capture l'exception que response.content ramène une chaine de caractère de vide.
    Voilà le message d'erreur
    Variable objet ou variable d'un bloc With non définie.
    Je suis coincé depuis 2 semaines. Je vous prie de m'aider.
    Et merci d'avance.

  2. #2
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Par défaut
    Je me dis qu'il doit avoir un composant dll installé sur la machine que je n'ai pas sur le serveur.
    Ou bien y a-t-il une configuration à faire sur le serveur IIS?

    Je fouille depuis en vain

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    La première chose à faire est d'enrichir votre gestion d'exception. Récupérez tout le stack trace, pas juste la description succincte de l'erreur.

  4. #4
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Par défaut
    Quand j'enlève la gestion de l'exception, voilà le message qu'il me met:
    Erreur du serveur dans l'application '/'.
    La référence d'objet n'est pas définie à une instance d'un objet.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la requête Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.

    Erreur source:

    Une exception non gérée s'est produite lors de l'exécution de la requête Web actuelle. Les informations relatives à l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.

    Trace de la pile:


    [NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.]
    ESIGN.tableau_de_bord.LienDeSignature() in C:\DISQUE DE TRAVAIL\MesApplis\ESIGN\ESIGN\tableau_de_bord.aspx.vb:2186
    ESIGN.tableau_de_bord.MouvementDEsignature() in C:\DISQUE DE TRAVAIL\MesApplis\ESIGN\ESIGN\tableau_de_bord.aspx.vb:1789
    ESIGN.tableau_de_bord.Page_Load(Object sender, EventArgs e) in C:\DISQUE DE TRAVAIL\MesApplis\ESIGN\ESIGN\tableau_de_bord.aspx.vb:82
    System.Web.UI.Control.OnLoad(EventArgs e) +107
    System.Web.UI.Control.LoadRecursive() +89
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1532

    Informations sur la version : Version Microsoft .NET Framework :4.0.30319; Version ASP.NET :4.8.4465.0

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Alors, il faut regarder ce qui se passe dans ce fichier tableau_de_bord.aspx.vb.
    Les numéros de lignes incriminées sont indiquées, à lire à partir du bas soit: 82, 1789, 2186.
    Le problème ne situe pas forcément dans le code que vous avez posté, même s'il peut être un révélateur du problème.

  6. #6
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Par défaut
    J'ai installé Visual Studio 2019 Professionnel sur mon serveur Windows Server 2022 Standard.
    A l'éxécution, la variable "response" ramène la valeur
    StatusCode: 0, Content-Type: , Content-Length: 0)
    alors que sur mon poste, la variable ramène la valeur
    StatusCode: OK, Content-Type: application/json, Content-Length: -1)
    Difficile à comprendre et à ... résoudre.
    Je me résous de plus à plus à comprendre que le problème est lié à mon OS.

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Prenez note de l'URL exacte que vous essayez de contacter et faites le test avec un outil CLI comme Curl en activant le mode verbose (-v).
    D'ailleurs, vous pouvez tout bêtement tester avec un navigateur s'il y en a un d'installé sur le serveur. Je vois qu'il y a de l'authentification HTTP mais sinon rien de spécial.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/12/2011, 08h21
  2. tester si le résultat d'une requete est vide
    Par monstour dans le forum ASP
    Réponses: 13
    Dernier message: 04/10/2006, 14h14
  3. [JDBC]tester si une table est vide
    Par zozolh2 dans le forum JDBC
    Réponses: 5
    Dernier message: 28/05/2004, 09h17
  4. Ne pas afficher un champs qui est vide dans ma BD
    Par yoda_style dans le forum ASP
    Réponses: 3
    Dernier message: 27/04/2004, 11h40
  5. [CR] Avoir seulement une page blanche qd la base est vide???
    Par littleChick dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 13/08/2002, 18h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo