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

IGN API Géoportail Discussion :

WMS erreur 400 : the SSL certificate error


Sujet :

IGN API Géoportail

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut WMS erreur 400 : the SSL certificate error
    Bonjour,

    Dans le cadre d'un développement en VB6, j'ai créé un module permettant de lire et d'afficher du WMS à partir de serveur avec et sans identification dans le Header.

    Cela fonctionne sur des serveurs gratuits ainsi que sur Geofoncier avec identification, cependant sur le serveur IGN de Géoportail il semble y avoir un problème de connexion.

    J'ai cette erreur lors du GetCapabilities: http://hpics.li/5a92345

    En levant le "s" du "https" je peu récupéré le fichier XML du GetCapabilities.
    Mais lors du GetMap l'erreur reviens avec et sans le "s", les paramètres semblent Ok et clé/login/mdp fonctionnent sous Qgis.

    Voici le code des deux requêtes qui est le même,
    Est-ce que quelqu'un pourrait m'aider svp je cherche depuis 2 semaines sans résultats, merci pour toutes aides:
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    ''''''''''''''''''''''''Requete récupération du fichier xml'''''''''''''''''''''''''''''''''''
        Dim strBody As String
        Dim strReponse As String
        Dim bytReponse() As Byte
        Dim WinHttpReq As WinHttpRequest
        
        Set WinHttpReq = New WinHttpRequest
      
        WinHttpReq.Option(WinHttpRequestOption_SslErrorIgnoreFlags) = SslErrorFlag_Ignore_All
        
        WinHttpReq.setTimeouts 0, 60000, 60000, 60000
    
        WinHttpReq.Open "GET", url_WMS & "?" & adresse, False
        
        If (AJOUT_COUCHES_WMS.login_wms <> "" And AJOUT_COUCHES_WMS.mdp_wms <> "") Then ''seulement si il y a des identifiant/mdp
            WinHttpReq.setRequestHeader "Authorization", "Basic " & Encode_Base64(AJOUT_COUCHES_WMS.login_wms & ":" & AJOUT_COUCHES_WMS.mdp_wms)
        End If
    
        WinHttpReq.send
        
        If (WinHttpReq.Status = 200) Then
            bytReponse = WinHttpReq.responseBody
    
            'conversion de l'UTF-8
            strReponse = ConvertUtf8BytesToString(bytReponse)
            If (strReponse = "") Then
                MsgBox "Aucun résultat"
                GoTo ERREUR
            End If
        Else
            bytReponse = WinHttpReq.responseBody
            strReponse = ConvertUtf8BytesToString(bytReponse)
            MsgBox strReponse
            GoTo ERREUR
        End If
    
        ' destruction de l'objet
        Set WinHttpReq = Nothing
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 115
    Points : 1 763
    Points
    1 763
    Par défaut Problème récurent !
    Depuis l'ouverture de services en https, la configuration du certificat et de l'url à toujours posé des problèmes à l'IGN et à son hébergeur.

    Dans les contournements, il possible de ne pas vérifier le certificat.
    Une autre possibilité est d'ajouter le certificat dans le magasin de certificats. En Windows, cela se passe avec certmgr.msc mais je ne sais pas faire.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 140
    Points : 153
    Points
    153
    Par défaut
    En utilisant un objet XMLHTTP (msxml6.dll) plutôt que WinHttpRequest (winhttp.dll), les requêtes GetMap fonctionnent.

  4. #4
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Merci à vous pour vos réponses, en effet l'objet XMLHTTP semble parfaitement fonctionner et le problème de certification est réglé!!
    Merci!

    Voici le code corrigé:

    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
    ''''''''''''''''''''''''Requete récupération du fichier xml'''''''''''''''''''''''''''''''''''
        Dim strBody As String
        Dim strReponse As String
        Dim bytReponse() As Byte
        Dim objXMLHTTP As MSXML2.XMLHTTP
        
        Set objXMLHTTP = New XMLHTTP
    
    '    'On envoi une requete a un service distant
        objXMLHTTP.Open "GET", url_WMS & "?" & adresse, False
        Clipboard.CLEAR
        Clipboard.SetText url_WMS & "?" & adresse
    
    '    'Méthode Basic Authentification dans le Header
        If (AJOUT_COUCHES_WMS.login_wms <> "" And AJOUT_COUCHES_WMS.mdp_wms <> "") Then ''seulement si il y a des identifiant/mdp
            objXMLHTTP.setRequestHeader "Authorization", "Basic " & Encode_Base64(AJOUT_COUCHES_WMS.login_wms & ":" & AJOUT_COUCHES_WMS.mdp_wms)
        End If
        objXMLHTTP.send
    
            'Si la requete a bien fonctionner
        If (objXMLHTTP.Status = 200) Then
            bytReponse = objXMLHTTP.responseBody
    ''....etc

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/02/2012, 11h58
  2. erreur javax.net.ssl.SSLException: Not trusted server certificate
    Par diengkals dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 23/05/2011, 19h37
  3. Réponses: 2
    Dernier message: 10/07/2009, 18h12
  4. [VB6]affichage d'une feuille modale / message d'erreur 400
    Par getea85 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/01/2006, 19h37
  5. Erreur de déployement WSDL (AXIS error)
    Par alex54 dans le forum Services Web
    Réponses: 2
    Dernier message: 18/02/2005, 10h46

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