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

XMLRAD Discussion :

Invoquer un WebService XMLRAD depuis VS.NET


Sujet :

XMLRAD

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Par défaut Invoquer un WebService XMLRAD depuis VS.NET
    Bonjour,

    Je n'ai ni ne connais véritablement Visual Studio .NET mais j'ai un client qui rencontre des difficultés à communiquer avec nos webservcies développés sous XMLRAD2005/Delphi7.
    Quelles indications puis je lui donner pour l'aider à développer son application ? Il tombe apparement systématiquement sur une page d'erreur HTML (Action non trouvée). De mon coter j'ai fait des tests avec un petit client HTTPRIO sous Delphi et ca passe bien. Quelles sont les étapes à suivre ?

    Michael

  2. #2
    RDM
    RDM est déconnecté
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Par défaut
    Je viens de voir qu'en fait XMLRAD se base sur le fait qu'il y ait "<SOAP-ENV:Envelope" dans la requête envoyé par le client ce qui est le cas pour HTTPRIO mais pas pour .NET.

    il faudrait que tu modifies XMLApp pour accepter aussi <soap:Enveloppe pour .NET

  3. #3
    Membre éclairé Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Par défaut
    Ok, mais j'ai pas .Net. Je ne sais donc pas ce qu'il envoie et donc ce à quoi je dois m'attendre dans XMLApp... Tu as un exemple de requete sous la main ?
    Mais ca voudrait dire qu'un WebService XMLRAD n'est pas "universel", ou bien c'est la requete SOAP de VS.NET qui ne l'est pas ?

    Michael

  4. #4
    Membre éclairé Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Par défaut
    Bon j'ai remplacé la ligne qui va bien par ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (Pos('<SOAP-ENV:Envelope', ContentStr) > 0) 
    or (Pos('<soap:Envelope', ContentStr) > 0 ) 
    or (Pos('<env:Envelope', ContentStr) > 0 ) then
    Je vous tiens au courant si ca suffit

    Michael

  5. #5
    Membre éclairé Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Par défaut
    Ben non ca suffit pas!
    "R?f?rence ? un pr?fixe d'espace de noms non d?clar? : 'SOAP-ENV'"
    J'imagine que VS attend une réponse avec soap:envolope et non pas soap-env !! Mais ca, ca devient plus une "petite" modif du framework!
    Je ne veux pas jeter la faute sur VS ou sur XMLRAD, mais quand même, dire que XMLRAD fait du Webservice sans vérifier que ca fonctionne dans ce cas c'est un peu gros!
    Je vais etre obligé vu l'urgence de faire le necessaire. Peut on espérer que ca passe dans le haut de la wishlist ?

    Michael

  6. #6
    RDM
    RDM est déconnecté
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Par défaut
    Malheureusement c'est ce qu'on appelle une heuristique.
    la problématique est du fait que le point d'entré ezt le même pour des requête zHTTP classiquez venant du navigateur et des requêtez SOAP d'un client.
    il faut donc un critère permettant de différencier les 2 types de requêtes. malheureusement dans les heders HTTP rien n'est fixé pour annoncer comment interpréter le contenu. c'est a cela que sert le if pour invoquer ou non InitSoapRequest.
    Un choix a été fait à l'époque (ou d'ailleurs les webservices était seulement émergeant, .NET n'étant même pas sorti)
    XMLRAD a plus souvent était consommateur de Webservices (client) que Véritable serveur.
    Bref le critère de distinction est pas si évident que cela a faire. peut être qu'une réarchitecture sera nécessaire...

  7. #7
    Membre éclairé Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Par défaut
    Une erreur c'est glissée, voici la correction (un '/' manquait):

    XMLApp.pas, 4506
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SSOAPFault = '<%s:Envelope xmlns:%s="http://schemas.xmlsoap.org/soap/envelope/" %s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">'
        +'<%s:Body><%s:Fault><%s:faultcode>%s</%s:faultcode>'
        +'<%s:faultstring>%s</%s:faultstring></%s:Fault></%s:Body></%s:Envelope>';

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

Discussions similaires

  1. Accéder à une bd SQl Server depuis le net ?
    Par Root_JDK dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 17/01/2007, 10h30
  2. Supprimer une Base de Données depuis ASP .NET
    Par moumoune65 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/08/2006, 10h22
  3. [VB.NET] Ecrire dans EXCEL 2002 depuis VB.net
    Par vijeo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/06/2006, 13h09
  4. [Apache] Accès depuis le net impossible
    Par Nasky dans le forum Apache
    Réponses: 2
    Dernier message: 09/04/2006, 04h07
  5. [VB.Net] - Acces à Excel depuis VB.Net
    Par toninonino dans le forum Windows Forms
    Réponses: 14
    Dernier message: 30/09/2005, 11h12

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