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

  1. #1
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2002
    Messages : 1 037
    Points : 1 230
    Points
    1 230

    Par défaut [OSGi / Apache Felix] Context path

    Bonjour

    J'ai une application développée en utilisant le framework Felix de la fondation Apache.
    J'ai déclaré un service qui sert de web service sous forme d'API REST
    Ce web service fonctionne bien sauf que les ressources sont accessibles via le context path par défaut de Félix c'est à dire services
    Donc pour accéder aux ressources les URLS sont du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://IP:PORT/services/path/to/ressource
    Je voudrais changer le context path et accéder à mes ressources sans le path par défaut de Felix (services)
    Pour cela j'ai suivi la doc de Félix et j'ai modifié la méthode start de la classe implémentant l'interface BundleActivator

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    Dictionary<String, Object> properties = new Hashtable<String, Object>();
    properties.put("alias", "/myAlias");
    bundleContext.registerService(MyWebService.class, new MyWebService(), properties);
    J'ai mis dans le constructeur de la classe MyWebService des logs et je vois bien au démarrage du bundle ces traces
    Lorsque j’exécute une requête HTTP via curl j'obtiens une erreur HTTP 404
    Voici la requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    curl -v -X GET http://IP:PORT/myAlias/path/to/resource
    J'ai pris des traces réseaux via tcpdump et je ne vois pas la requête arrivée dans la méthode GET de mon web service
    et je ne vois même pas la requête arrivée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tcpdump -w capture_alias.pcap -vvv  host myP -i eth0 and tcp port http
    Est-ce que quelqu'un à déjà rencontré ce problème et comment le résoudre svp?
    Comment est-ce que je peux avoir plus de logs de la part de felix ?

    Merci et bonne journée

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    juillet 2004
    Messages
    4 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : juillet 2004
    Messages : 4 131
    Points : 9 007
    Points
    9 007

    Par défaut

    de mémoire félix utilise Jetty pour publier sur http

    c'est dans la doc de jetty qu'on trouve les infos pour le partage
    il me semble que ton bundle doit contenir un fichier jetty.xml ou kkchose de semblable.

    ou alors par programmation en fournissant un contexte
    http://felix.apache.org/documentatio...ice-properties

    A+JYT

  3. #3
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2002
    Messages : 1 037
    Points : 1 230
    Points
    1 230

    Par défaut

    tout d'abord merci pour ta réponse
    J'ai oublié une précision: mon appli n'est pas déployée dans un war
    A priori il faudrait utiliser la properties org.apache.felix.http.context_path
    Je vais tester et je publierai la réponse

    J'avais trouvé un autre lien :
    https://github.com/hstaudacher/osgi-...ector/wiki/FAQ
    mais mon implémentation ne fonctionne pas

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

Discussions similaires

  1. Developpemnt modulaire: OSGi avec Apache Felix
    Par haloa dans le forum OGSi
    Réponses: 2
    Dernier message: 01/03/2014, 01h51
  2. [OSGI] Tests unitaires et Apache Felix
    Par identifiant_bidon dans le forum OGSi
    Réponses: 7
    Dernier message: 25/11/2011, 17h12
  3. [OSGi] Chargement en deux phases (Apache Felix)
    Par Baptiste Wicht dans le forum OGSi
    Réponses: 2
    Dernier message: 16/06/2010, 19h48
  4. Eclipse, Maven et OSGI (Apache Felix)
    Par martinro dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 07/05/2010, 23h32
  5. Réponses: 0
    Dernier message: 26/04/2009, 18h48

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