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

Windows Forms Discussion :

Retour d'un webservices dans un Navigateur


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut Retour d'un webservices dans un Navigateur
    Bonjour,

    Voila je me demandais s'il était possible via un winform de query un webservice et de renvoyer le résultat qui est un XHTML directement dans un navigateur internet? Comme quand on le query depuis un navigateur.

    Actuellement j'ai développé un autre service qui me renvoit le html sous forme de string et avec ca je l'enregistre dans le temp et je le lance.

    Mon problème est que j'ai des liens (hyperlink) qui sont relatif (donc sans le nom de l'hote) et mon problème est que quand je clique dessus ben il va sur c:\/webservcies/monservices/monservice.asmx......

    Ma première idée serait de faire ce que je viens d'expliquer mais si c'est pas possible ben je m'arrangerait pour passer le nom de l'hote dans mon XHTML.

    Merci pour votre aide

    Thierry

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par virgul Voir le message
    Mon problème est que j'ai des liens (hyperlink) qui sont relatif (donc sans le nom de l'hote) et mon problème est que quand je clique dessus ben il va sur c:\/webservcies/monservices/monservice.asmx......
    Tu pourrais mettre dans le HTML une balise <base href="..."> pour indiquer l'URL de base pour les liens relatifs...

  3. #3
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Salut merci pour la réponse.

    Certe mais ca ne résoudera pas mon problème car je devrais de toute facon passer en paramètre le lien. Merci au passage je connaissais pas.

    donc mon code dans mon winform voila ce que je fait maintenant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    string temp2 = temp + "\\temp.html";
                FileStream fs = new FileStream(temp2, FileMode.Create, FileAccess.Write, FileShare.None);
                StreamWriter swFromFileStreamDefaultEnc = new System.IO.StreamWriter(fs, System.Text.Encoding.Default);
     
                swFromFileStreamDefaultEnc.Write(WsHRG.getHTML(CHNR, Amt, "", "", Lang, "0", "", "", ScanKarte, ScanSHAB));
     
                swFromFileStreamDefaultEnc.Flush();
                swFromFileStreamDefaultEnc.Close();
                System.Diagnostics.Process.Start(temp2);
    Car enfaite j'ai une autre méthode qui quand tu la query via un navigateur te renvois directement le résultat dans ta page

    et voila ce que j'aimerais pouvoir faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Porcess.Start(WsHRG.getHRGHTML(CHNR, Amt, "", "", Lang, "0", "", "", ScanKarte, ScanSHAB));
    et que ca me renvoit le tout dans un navigateur comme si je l'avait fait depuis le navigateur.

    J'espère que tu comprendras

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par virgul Voir le message
    J'espère que tu comprendras
    ben pas trop en fait

  5. #5
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Ok je vais te le faire en image j'ai deux webservices un renvoie direct un XHTML et l'autre renvoit un string.

    Voir la photo en pièce jointe.

    Es-ce que c'est possible de query le premier webservice et de renvoyé le résultat directement dans un navigateur depuis un winform

    Pour le moment j'utilise le second et j'aimerais bien pouvoir utiliser le premier et ainsi éviter une sauvegarde dans le temp du PC de l'utilisateur.

    Dis-moi si c'est pas encore clair

    Merci

    ++

    Thierry
    Images attachées Images attachées  

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    ah ok, je vois... donc en fait le premier c'est pas vraiment un webservice, c'est plutôt une page web en gros...
    En fait, tu pourrais exécuter directement l'URL en paramètre de Process.Start si les paramètres étaient en GET, mais comme c'est du POST ce n'est pas possible. Dans ces conditions, je pense que tu es obligé de passer par un fichier temporaire... Ou à la rigueur, tu génères un petit fichier HTML avec un formulaire qui contient en champs hidden les valeurs des paramètres du service, et un petit bout de Javascript qui poste automatiquement le formulaire... Un truc comme ça (non testé) :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <html>
    <body>
        <form method="POST" id="frmService" action="url/de/ton/service.asmx">
            <input type="hidden" name="nomDuParametre1" value="valeur1"/>
            <input type="hidden" name="nomDuParametre2" value="valeur2"/>
            ...
        </form>
        <script language="javascript">
            var f = document.getElementById("frmService");
            f.Submit();
        </script>
    </body>
    </html>

    Donc tu génères cette page avec les valeurs qui vont bien, tu envoies ton navigateur dessus, ça poste les données au service et ça t'affiche la page de résultat.

    Mais bon, c'est un peu du bricolage

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/10/2008, 14h53
  2. Retour chariot dans un navigateur et pas dans un autre
    Par fafoula dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 31/07/2008, 10h57
  3. [jsp] affichage dans le navigateur IE
    Par mzt.insat dans le forum JBuilder
    Réponses: 2
    Dernier message: 06/03/2005, 13h50
  4. Comment faire un retour a la ligne dans un tableaux Word
    Par alexmorel dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 17/06/2004, 09h31

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