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

VBA Access Discussion :

Webservice JSON : browser Vs VBA [AC-2016]


Sujet :

VBA Access

  1. #1
    Membre chevronné
    Inscrit en
    Février 2011
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 469
    Par défaut Webservice JSON : browser Vs VBA
    Bonjour,

    Les autorités polonaises mettent à la disposition du public un site web pour vérifier les données de vos partenaires commerciaux. C'est disponible sur un site web https://www.podatki.gov.pl/wykaz-pod...t-wyszukiwarka et via un API.
    La description du webservice est aussi disponible https://wl-api.mf.gov.pl/

    J'essaye d'utiliser du VBA pour consommer le webservice qui doit me retourner un message JSON.

    Lorsque je fais le test avec un browser (MS Internet Explorer ou Google Chrome) avec l'adresse suivante https://wl-api.mf.gov.pl/api/check/n...00000010552826 j'obtiens le joli résultat auquel je m'attends : Nom : JSON on Web Browser.PNG
Affichages : 423
Taille : 6,2 Ko
    Par contre, lorsque j'exécute mon code, je reçois un vilain message 503 Service non disponible.

    Pourquoi cette différence ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub Test_JSON_NIP_BankA()
     
    Dim xmlhtp As MSXML2.XMLHTTP60          'nécessite de spécifier la référence Microsoft XML,v6.0
    Dim strURL As String
    Dim strJSON As String
    Dim strResponseText As String
     
    'Description des API disponibles là : https://wl-api.mf.gov.pl
    'J'utilise l'API avec le numéro de TVA (NIP) et le numéro de banque
    strURL = "https://wl-api.mf.gov.pl/api/check/nip/{nip}/bank-account/{bank-account}"
     
    strJSON = "{""nip"":""8961463998"",""bank-account"":""95175010640000000010552826""}"
    Debug.Print strJSON
     
    Set xmlhtp = New MSXML2.XMLHTTP60                                           'works fine on Access 2016.  (I have defined reference Microsoft XML,v6.0)
     
    xmlhtp.Open "POST", strURL, False
    xmlhtp.setRequestHeader "Content-type", "application/json"
    xmlhtp.setRequestHeader "Accept", "application/json"
    xmlhtp.send strJSON
    strResponseText = xmlhtp.responseText
     
    Debug.Print strResponseText
     
    Set xmlhtp = Nothing
     
    End Sub
    Merci pour le partage de votre expérience.

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 136
    Par défaut
    Bonjour,

    Voici la syntaxe qui me sert à lire des cours de devise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Public Sub MajDevises
    Dim http As MSXML2.ServerXMLHTTP, Liste As String
    102 Liste = ""  'reçoit le résultat pour traitement
     
        'Lecture du flux
    105 Set http = New MSXML2.ServerXMLHTTP
    106 http.Open "GET", "http://www.floatrates.com/daily/eur.json", False 
    107 http.send ""
        'En cas de réussite, le code renvoyé est 200
    110 If http.Status <> 200 Then
    112   Liste = ""
    113   MsgBox "Erreur en lecture de devises code " & http.Status
        Else
    115   Liste = http.responseText
        End If
    116 Set http = Nothing
     
        'analyse du résultat
        ...
    Ca se ressemble mais il y a des petites différences qui peuvent expliquer pourquoi l'un marche et pas l'autre

  3. #3
    Membre chevronné
    Inscrit en
    Février 2011
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 469
    Par défaut
    Oui, ça marche.
    Super !
    Jusqu'à présent, j'utilisais toujours "POST". Je suis content de voir une utilisation avec "GET"
    Merci beaucoup

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

Discussions similaires

  1. Logiciel gratuit pour tester des Webservice Json (rest)
    Par thierryler dans le forum Services Web
    Réponses: 6
    Dernier message: 19/02/2013, 20h54
  2. webService JSON : problème lors de l'appel depuis un autre site
    Par Pat_AfterMoon dans le forum Services Web
    Réponses: 1
    Dernier message: 22/11/2011, 01h22
  3. Comment prendre la main sur mozilla Browser avec VBA?
    Par tamalkasi dans le forum Access
    Réponses: 1
    Dernier message: 04/03/2011, 13h52
  4. Webservices - JSON - JQUERY
    Par aurelien.tournier dans le forum Services Web
    Réponses: 3
    Dernier message: 07/11/2010, 11h32
  5. WebService JSON retourne du XML
    Par d1g-2-d1g dans le forum Services Web
    Réponses: 5
    Dernier message: 14/11/2009, 00h57

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