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

4D Discussion :

Probleme Appel webservice 4D 2003


Sujet :

4D

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Octobre 2003
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Probleme Appel webservice 4D 2003
    Bonjour,

    Un de mes clients essaye d'acceder a l'un de nos webservices a partir d'une base 4D 2003. Le probleme c'est que le service a été fait sur une plateforme dot.net et d'apres quelques recherches cela implique l'appel en mode doc et web service manuel. 4D 2004 semble bien le gerer et l'assistant pose quelque chose qui fonctionne et arrive a appeler le webservice mais ce n'est pas le cas en 2003 car a priori la methode fixer parametre .... ne fonctionne pas ou plutot le webservice semble ne pas accepter ce qu'il recoit. Il Semble qu'il faille analyser le contrat WSDL afin de generer une variable texte dans laquel on construit les parametres en XML. Bref tout cela pour vous demander si vous connaissez un moyen "automatique" pour generer le code a partir du contrat wsdl car cela me parait bien compliqué et en plus je n'y connais rien en 4D.Mon client ne s'en sort pas non plus et rejette le probleme chez nous en nous demandant de lui fournir le code. Donc si vous voyez un moyen de m'aider je suis preneur.
    Merci

    Maveric

  2. #2
    Membre habitué

    Inscrit en
    Juin 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 76
    Points : 131
    Points
    131
    Par défaut
    Citation Envoyé par maveric
    Un de mes clients essaye d'acceder a l'un de nos webservices a partir d'une base 4D 2003. Le probleme c'est que le service a été fait sur une plateforme dot.net et d'apres quelques recherches cela implique l'appel en mode doc et web service manuel.
    oui, alors que 4D 2003 est plutôt orienté RPC/encoded

    Citation Envoyé par maveric
    4D 2004 semble bien le gerer et l'assistant pose quelque chose qui fonctionne et arrive a appeler le webservice mais ce n'est pas le cas en 2003 car a priori la methode fixer parametre .... ne fonctionne pas ou plutot le webservice semble ne pas accepter ce qu'il recoit.
    le problème de 4D 2003, c'est l'absence de commandes pour générer du XML. Sinon, sur le principe il faut regarder l'allure de la structure XML produite par le code généré par l'assistant 2004 et la reproduire en 2003 avec les moyens du bord

    Citation Envoyé par maveric
    tout cela pour vous demander si vous connaissez un moyen "automatique" pour generer le code a partir du contrat wsdl car cela me parait bien compliqué et en plus je n'y connais rien en 4D.
    le moyen automatique c'est justement le passage par l'assistant de web service. Mais, dans votre cas, le plus dur est fait puisque qu'avec la version 2004, vous disposez d'un exemple de requête cliente qui fonctionne. Il "suffit" maintenant de la reproduire en version 2003.

    Citation Envoyé par maveric
    Mon client ne s'en sort pas non plus et rejette le probleme chez nous en nous demandant de lui fournir le code.
    si ça fonctionne avec une version 4D 2004, le problème ne peut pas venir du côté serveur. Et ce n'est pas au fournisseur du web service de fournir le code pour toutes les plate-formes clientes !
    En revanche, fournir un exemple complet de message requete-réponse est une bonne pratique. Mais ça, .Net le fait par défaut !

  3. #3
    Membre habitué

    Inscrit en
    Juin 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 76
    Points : 131
    Points
    131
    Par défaut
    Pour compléter la réponse précédente, en 4D 2003 il faut :

    - créer dans un BLOB la structure XML correspondant à la descendance de l'élément <Body>. Attention aux namespaces.
    - appeler 'FIXER PARAMETRE WEB SERVICE' en passant ce BLOB, avec le sélecteur 'Web Service manuel'.
    - analyser le BLOB retourné par le service Web

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Octobre 2003
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Merci pour vos réponses et désolé pour le délai mais d'autres contraintes clients ne m'ont pas permis d'y travailler plus tot.
    Le probleme que j'ai c'est le passage des parametres avant l'appel de la fonction car avec le mode DOC la fonction fixer parametre web service ne fonctionne pas
    il faut lui fournir la structure XML dans un blob et c'est la tout mon probleme.
    en 2004 il y a la fonction DOM Creer ref XML, DOM Creer element XML et DOM ECRIRE VALEUR ELEMENT XML mais elles n'existent pas en 2003 et je ne vois pas comment faire.
    Voila un extrait de code en 2004, si quelqu'un sait me donner le code equivalent en 2003 je suis preneur et je pourrais faire l'equivalent pour les autres parametres.
    C_ALPHA(16;$root)
    C_ALPHA(16;$subelem)
    C_TEXTE($namespace)
    $namespace:="http://www.exemple.com/webservice/"
    $root:=DOM Creer ref XML("Elfyweb_Res_Standard";$namespace)

    $subelem:=DOM Creer element XML($root;"/Elfyweb_Res_Standard/User")
    DOM ECRIRE VALEUR ELEMENT XML($subelem;$User)

    $subelem:=DOM Creer element XML($root;"/Elfyweb_Res_Standard/Password")
    DOM ECRIRE VALEUR ELEMENT XML($subelem;$Password)

    Merci

    Maveric

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 86
    Points : 103
    Points
    103
    Par défaut
    Bonjour,

    Ne pas oublier de libèrer l'espace mémoire occupé par l'objet XML en utilisant la commande: DOM FERMER XML

    Cordialement

Discussions similaires

  1. probleme appel webservice distant
    Par zulad dans le forum Silverlight
    Réponses: 42
    Dernier message: 11/08/2011, 14h26
  2. Probleme formulaire sous access 2003
    Par pedrosystem dans le forum Access
    Réponses: 2
    Dernier message: 28/02/2006, 17h02
  3. [Eclipse 3.1][Tomcat][Axis]Probleme execution WebService
    Par beZor dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 08/02/2006, 13h55
  4. [VB.Net] Problème appel fonction par un bouton
    Par balibo dans le forum ASP.NET
    Réponses: 4
    Dernier message: 25/11/2005, 10h48
  5. [MFC] débutant probleme appel de fonction
    Par Gloubi99 dans le forum MFC
    Réponses: 9
    Dernier message: 30/08/2005, 15h40

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