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

Services Web Discussion :

Uploader des fichiers en utilisant MTOM


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 122
    Par défaut Uploader des fichiers en utilisant MTOM
    Bonjour,

    Je veux faire un web service qui recoit des fichier en utilisant MTOM, pour cela, j'ai fais comme suite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    [WebMethod]
        public void Upload(string FileName, byte[] buffer, long Offset)
        {		
            string FilePath = Path.Combine(UploadPath, FileName);
     
            using (FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.ReadWrite, FileShare.Read))
            {
                fs.Seek(Offset, SeekOrigin.Begin);
                fs.Write(buffer, 0, buffer.Length);
            }
     
        }
    j'ai une erreur en sortie :
    System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.UnauthorizedAccessException: Access to the path 'C:\MTOM\AA' is denied.
    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
    at MTOM.Service1.Upload(String FileName, Byte[] buffer, Int64 Offset) in C:\Documents and Settings\Administrateur\Bureau\MTOM\MTOM\MTOM.asmx.cs:line 41

    merci d'avance de votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 122
    Par défaut
    J'ai réussi à trouver, j'ai fais comme suit :

    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
     
    [WebMethod]
        public void Upload(string FileName, byte[] buffer)
        {
            string FilePath = Path.Combine(UploadPath, FileName);
            StreamWriter Fichier = new StreamWriter(FilePath, true, Encoding.Default);
            Fichier.Close();
     
            using (FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.ReadWrite, FileShare.Read))
            {
               fs.Seek(256, SeekOrigin.Begin);
               fs.Write(buffer, 0, buffer.Length);
            }     
     
        }
    pour ajouter le service MTOM, j'ai ajouté les ligne ci dessous dans le webconfig.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <webServices>
          <soapExtensionImporterTypes>
            <add type="Microsoft.Web.Services3.Description.WseExtensionImporter, 
                   Microsoft.Web.Services3, Version=3.0.0.0, 
                   Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
          </soapExtensionImporterTypes>
        </webServices>

    Quand je passe des fichiers plus de 4Mo, j'ai l'exception suivante :
    Une erreur s’est produite lors de la réception de la réponse HTTP à http://localhost:3687/MTOM.asmx. La raison peut en être que la liaison de point de terminaison de service n’utilise pas le protocole HTTP. Cela peut également être dû au fait qu’un contexte de demande HTTP a été ignoré par le serveur (peut-être à cause de l’arrêt du service). Pour plus d’informations, voir les journaux du serveur.
    Merci d'avance de votre aide.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 122
    Par défaut
    Bonjour,

    Une dernière question, est ce que le client doit disposer de WSE 3.0 installé afin d'envoyer le fichier en MTOM ? merci d'avance de votre réponse.

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Si tu développes de nouveaux webservices, il vaut mieux utiliser WCF qui est plus flexible pour ce genre de chose.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 122
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    Si tu développes de nouveaux webservices, il vaut mieux utiliser WCF qui est plus flexible pour ce genre de chose.
    D'accord, est ce que la consommation d'un web service sur le protocole MTOM se fait normalement ? ou il faut installer WSE 3.0 ? merci d'avance du retour.

  6. #6
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Le Mtom est une norme donc elle doit etre interoperable dans d'autres languages normalement (java, php, etc) sans installer la dll

Discussions similaires

  1. Upload des fichier avec AJAX
    Par Pedro Varela dans le forum ASP.NET
    Réponses: 6
    Dernier message: 23/01/2007, 07h52
  2. download et upload des fichier avec JSP & mysql
    Par MSM_007 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 17/07/2006, 15h20
  3. upload des fichiers dans mon serveur
    Par abdou.sahraoui dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 29/05/2006, 09h32
  4. upload des fichiers
    Par abdou.sahraoui dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 19/04/2006, 07h02
  5. Uploader des fichiers via ssh
    Par Michaël dans le forum Réseau
    Réponses: 3
    Dernier message: 13/05/2005, 20h47

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