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

CORBA Discussion :

Client-serveur répliqué CORBA


Sujet :

CORBA

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 45
    Points : 29
    Points
    29
    Par défaut Client-serveur répliqué CORBA
    Bonjour bonjour,


    Voilà j'ai un petit souci dans la programmation d'un ensemble client-serveur frontal-serveurs répliqués en CORBA + java .

    L'objet du programme est de simuler un service FTP avec un dépôt et un retrait de fichiers.

    Le souci que je rencontre est le suivant : Comment passer un type java.io.file à ma méthode de dépôt ?

    Mon début de solution a été de passer un type ANY à la méthode dans l'interface de mon service cela donne le code suivant :


    Interface du service :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    module ServiceFtp {
       interface ServiceFtpIdl {
          string put (in any nom);
       };
    };


    Méthode de dépôt de fichier dans le service :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public String put (rog.omg.CORBA.Any nom) {
       java.io.file file = ServiceFtpIdlHelper.narrow(nom);
       vecteur.add(file);
       return "fichier recu";
    }

    Une erreur me saute dessus, me disant que la méthode narrow ne peut pas être appliquée au type any ... du coup je ne sais pas du tout comment me débrouiller :'(

  2. #2
    Membre averti
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 219
    Points : 302
    Points
    302
    Par défaut
    Bonjour,

    Dans une operation CORBA, on ne peut passer que des types CORBA.
    Et dans un Any CORBA, on ne peut mettre que des types CORBA.
    Or java.io.File n'est pas un type CORBA. L'ORB ne saura pas comment sérializer (transformer en séquence d'octet) ce type.
    De plus, un java.io.File ne contient que le path vers le fichier. En transférant cet objet, la machine distante se retrouve avec un path vers un fichier n'existant pas dans son file system...

    Pour transférer un fichier en CORBA, il faut lire le fichier octet par octet, transférer ces octets au serveur, et recréer le fichier octets par octets côté serveur.
    Pour plus d'info, tu peux lire ce thread:
    http://www.developpez.net/forums/d71...fichier-corba/

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 45
    Points : 29
    Points
    29
    Par défaut
    Ok merci beaucoup.

    Je m'en suis sortie en passant mon type Any dans l'IDL et un org.omg.CORBA.Any dans l'implémentation.
    J'ai ensuite utilisé la méthode extract du helper pour récupérer mon objet et le caster en un type File.

    Merci pour tes lumières

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/01/2012, 21h36
  2. Client/Serveur - Implémentation Java du type Any CORBA
    Par julian75 dans le forum Général Java
    Réponses: 2
    Dernier message: 04/05/2009, 08h36
  3. Hyperfile Client/serveur répliqué
    Par Le Shadow dans le forum HyperFileSQL
    Réponses: 4
    Dernier message: 13/02/2007, 19h03
  4. Langage le mieux adapté pour application client serveur ?
    Par guenus dans le forum Débats sur le développement - Le Best Of
    Réponses: 4
    Dernier message: 17/06/2002, 15h46
  5. Client C pour CORBA
    Par rv dans le forum CORBA
    Réponses: 3
    Dernier message: 06/05/2002, 11h35

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