Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

EXEMPLE DE SERVICE WEB


Information sur la source

Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous : webservice, soap, exemple, asmx Niveau : Débutant Date de création : 10/08/2004 Vu / téléchargé: 21 437 / 1 352

Note :
9 / 10 - par 4 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note


Description

Dans cette source, je vous montre comment créer son propre Service Web.

Ce service web, n'a rien d'extraordinaire, je l'ai réalisé suite à une question dans le forum.
Son but est simple, il fallait un service web, renvoyant des noms de Fichiers, j'ai un peu etoffé l'affaire, et j'ai rajouté des categories.
Il vout faut un dossier Images à la base du site, dans ce dossier, il vous faut plusieurs Dossiers, leurs noms est le nom de la categorie, à l'interieur de ces dossiers, vous mettez des images au format jpg et ce sont le nom de ces images qui vont etre retournés avec l'appel des fonction GetFilesName/GetFilesFullName

Ce Service Web posséde 3 méthodes:
- GetCategories : qui retourne un tableau de String avec les differentes Catégorie
- GetFilesName : retourne un tableau de string avec le nom du fichier, il demande le nom de la Categorie
- GetFilesFullName : Meme function que ci dessus sauf qu'il retourne le nom entier du fichier, dans le but de pouvoir le telecharger

Ce service est volontairement simple, pour pouvoir utiliser ce service web, il faudrais ajouter une gestion des erreurs etc... mais j'ai volontairement simplifié le code
C'est aussi à cause de sa simplicité que je n'ai pas expliqué le code.

pour qu'une méthode soit visible à travers un service web, il suffit simplement d'importer la classe  
Imports System.Web.Services
et d'ajouter l'attribut <WebMethod()> devant la class dans un fichier de service web (asmx)

Vous pouvez tester ce service web à l'adresse suivante : http://fr-cyrildurand.int.webmatrixhosting.net/DownloadFile/DownloadFile.asmx


 

Source

  • Imports System.Web.Services
  • Imports System.io
  • <System.Web.Services.WebService(Namespace:="http://fr-cyrildurand.int.webmatrixhosting.net/DownloadFile/Service1")> _
  • Public Class Service1
  • Inherits System.Web.Services.WebService
  • #Region " Code généré par le Concepteur des services Web "
  • Public Sub New()
  • MyBase.New()
  • 'Cet appel est requis par le Concepteur des services Web.
  • InitializeComponent()
  • 'Ajoutez votre code d'initialisation après l'appel InitializeComponent()
  • End Sub
  • 'Requis par le Concepteur des services Web
  • Private components As System.ComponentModel.IContainer
  • 'REMARQUE : la procédure suivante est requise par le Concepteur des services Web
  • 'Elle peut être modifiée en utilisant le Concepteur des services Web.
  • 'Ne la modifiez pas en utilisant l'éditeur de code.
  • <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  • components = New System.ComponentModel.Container
  • End Sub
  • Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  • 'CODEGEN : cette procédure est requise par le Concepteur des services Web
  • 'Ne la modifiez pas en utilisant l'éditeur de code.
  • If disposing Then
  • If Not (components Is Nothing) Then
  • components.Dispose()
  • End If
  • End If
  • MyBase.Dispose(disposing)
  • End Sub
  • #End Region
  • Private Const DirectoryImages As String = "Images"
  • Private Const AdressWebService As String = "http://fr-cyrildurand.int.webmatrixhosting.net/DownloadFile"
  • <WebMethod()> Public Function GetCategories() As String()
  • If Directory.Exists(Server.MapPath(DirectoryImages)) Then
  • Dim DI() As DirectoryInfo = New DirectoryInfo(Server.MapPath(DirectoryImages)).GetDirectories
  • Dim _GetCategories(DI.Length - 1) As String
  • Dim i As Integer
  • For Each _DI As DirectoryInfo In DI
  • _GetCategories(i) = _DI.Name
  • i += 1
  • Next
  • Return _GetCategories
  • Else
  • 'Erreur : le Dossier des images n'existe pas
  • End If
  • End Function
  • <WebMethod()> Public Function GetFilesName(ByVal Category As String) As String()
  • If Directory.Exists(Server.MapPath(DirectoryImages & "\" & Category)) Then
  • Dim FI() As FileInfo = New DirectoryInfo(Server.MapPath(DirectoryImages & "/" & Category)).GetFiles("*.jpg")
  • Dim _GetFilesName(FI.Length - 1) As String
  • Dim i As Integer
  • For Each _FI As FileInfo In FI
  • _GetFilesName(i) = _FI.Name
  • i += 1
  • Next
  • Return _GetFilesName
  • End If
  • End Function
  • <WebMethod()> Public Function GetFilesFullName(ByVal Category As String) As String()
  • Dim _GetFilesFullName() As String = GetFilesName(Category)
  • Dim _GetFilesFullNameTemp(_GetFilesFullName.Length - 1) As String
  • Dim i As Integer
  • For Each s As String In _GetFilesFullName
  • _GetFilesFullNameTemp(i) = AdressWebService & "/" & DirectoryImages & "/" & Category & "/" & s
  • i += 1
  • Next
  • Return _GetFilesFullNameTemp
  • End Function
  • End Class
Imports System.Web.Services
Imports System.io

<System.Web.Services.WebService(Namespace:="http://fr-cyrildurand.int.webmatrixhosting.net/DownloadFile/Service1")> _
Public Class Service1
    Inherits System.Web.Services.WebService

#Region " Code généré par le Concepteur des services Web "

    Public Sub New()
        MyBase.New()

        'Cet appel est requis par le Concepteur des services Web.
        InitializeComponent()

        'Ajoutez votre code d'initialisation après l'appel InitializeComponent()

    End Sub

    'Requis par le Concepteur des services Web
    Private components As System.ComponentModel.IContainer

    'REMARQUE : la procédure suivante est requise par le Concepteur des services Web
    'Elle peut être modifiée en utilisant le Concepteur des services Web.  
    'Ne la modifiez pas en utilisant l'éditeur de code.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        components = New System.ComponentModel.Container
    End Sub

    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        'CODEGEN : cette procédure est requise par le Concepteur des services Web
        'Ne la modifiez pas en utilisant l'éditeur de code.
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

#End Region


    Private Const DirectoryImages As String = "Images"
    Private Const AdressWebService As String = "http://fr-cyrildurand.int.webmatrixhosting.net/DownloadFile"

    <WebMethod()> Public Function GetCategories() As String()

        If Directory.Exists(Server.MapPath(DirectoryImages)) Then

            Dim DI() As DirectoryInfo = New DirectoryInfo(Server.MapPath(DirectoryImages)).GetDirectories
            Dim _GetCategories(DI.Length - 1) As String

            Dim i As Integer
            For Each _DI As DirectoryInfo In DI
                _GetCategories(i) = _DI.Name
                i += 1
            Next

            Return _GetCategories
        Else
            'Erreur : le Dossier des images n'existe pas
        End If

    End Function

    <WebMethod()> Public Function GetFilesName(ByVal Category As String) As String()
        If Directory.Exists(Server.MapPath(DirectoryImages & "\" & Category)) Then

            Dim FI() As FileInfo = New DirectoryInfo(Server.MapPath(DirectoryImages & "/" & Category)).GetFiles("*.jpg")
            Dim _GetFilesName(FI.Length - 1) As String

            Dim i As Integer
            For Each _FI As FileInfo In FI
                _GetFilesName(i) = _FI.Name
                i += 1
            Next

            Return _GetFilesName
        End If
    End Function

    <WebMethod()> Public Function GetFilesFullName(ByVal Category As String) As String()
        Dim _GetFilesFullName() As String = GetFilesName(Category)
        Dim _GetFilesFullNameTemp(_GetFilesFullName.Length - 1) As String

        Dim i As Integer
        For Each s As String In _GetFilesFullName
            _GetFilesFullNameTemp(i) = AdressWebService & "/" & DirectoryImages & "/" & Category & "/" & s
            i += 1
        Next

        Return _GetFilesFullNameTemp
    End Function

End Class

Conclusion

Vous pouvez tester ce Service Web avec une version de demonstration du logiciel Mindreef, je ne sais encore pas ce que ca vaut car je suis en train de le telecharger (56k...)
--> http://www.mindreef.com/order/eval.php

D'ici quelques temps, je mettrais un exemple de code pour pouvoir utiliser ce service web, à partir d'une application winform (asp.net VB) et à partir d'une application WebForm (C#)

Pour toutes questions ou commentaires, veuillez les indiquer ci dessus

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de 2009sabrina le 09/03/2009 16:58:22

bonjour,
je ss entraine de realiser un projet de fin d'étude concernant les services web. et je ne sais pas comment creer un service web avec java sous eclipse j'aimerais bien si vous m'aider et me donner toutes les étapes afin de creer un service web. merci

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Récupérer le WebService [ par Laurent_BGC ] Bonjour ,j'ai créé un webservice sur notre serveur "Server1" (WebService1.asmx)  et un autre sur mon c: (Webservice2.asmx) . Via un nouveau site créé Cherche exemple WebService avec SilverLight en VB.Net [ par primactif ] Bonjourje cherche à comprendre comment utiliser un WebService pour alimenter des composants SilverLight, j'en ai trouvé mais tous en C# et malheureuse Consommer un webservice qui renvoie un complexType [ par tataye ] Bonjour,Je recherche la méthode permettant de consommer un webservice renvoyant un complexType.J'ai installé Microsoft SOAP Toolkit Version 3, je sais Erreur 401 lors d'une tentative d'utilisation de webservice [ par tataye ] Bonjour,J'essaie sans succès de consommer un webservice en .net qui demande une authentification.J'ai une erreur "La demande a échoué avec l'état HTTP WebService sur IIS 6 [ par serlep ] J'ai cree un WebService cote serveur que j'ai installer sur Windows Server 2003 SP2 avec IIS 6.Quand je l'appelle via l'internet avec l'adresse 70.xx. [DEPLACE --> JAVA]Dwr+Spring [ par aitelghali ] Salut tt le monde,   J'ai un projet (Stage) web à Réaliser en J2ee (dwr+spring ), mais j'ai essayé de chercher  un petit exemple simp Comment faire une simulation des mperformances de CDMA sous Matlab [ par mikak ] Bonjour;Quelqu'un aurait sous la main exemple de codes simulant les performances de CDMA sous Matlab .Je voudrais voir un exemple pour démarrer.Merci Calendrier - Sélection de dates [ par ben85000 ] Bonjour a tous !J'utilise Visual Studio 2008.J'ai inséré dans ma Web Form un composant permettant d'avoir un calendrier (asp:Calendar). Tout fonctionn communication de page en page [ par verbeyst ] Bonjour à tous,Je voudrais envoyer à partir d'une page aspx1 les valeurs de la propriété texte de certains de ces contrôles à une page aspx2.exemple s


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.