# OSGI Service - ServiceReference



## lumo (18. Jun 2010)

hallo leute!

habe folgendes problem.
ich hab mir ein service definiert und dieses wird auch gestartet
laut osgi console:

```
40	ACTIVE      tt.at.lumo.service.implementation_1.0.0.qualifier
42	RESOLVED    tt.at.lumo_1.0.0.qualifier
45	ACTIVE      tt.at.lumo.testview_1.0.0.qualifier
46	ACTIVE      tt.at.lumo.service_1.0.0.qualifier
```

nun versuche ich aus dem testview heraus auf das service zuzugreifen:

```
Bundle b = FrameworkUtil.getBundle(getClass());
			BundleContext context = b.getBundleContext();
			ServiceReference ref = context.getServiceReference(SiteService.class.getName());
			SiteService service = (SiteService) context.getService(ref);
```
und bekomme folgende fehlermeldung:

```
A null service reference is not allowed.
```

weiss einer woran das liegen kann?
hab noch einen anderen workspace, in dem ichs gleich gemacht hab und dort klappts (ich muss wohl irgendetwas übersehen... nur was ???:L)


----------



## HoaX (18. Jun 2010)

Das was du oben zeigst sind doch die Bundles, nicht die Plugins. Die Services siehst du auf der Konsole mit "services", und nicht "ss".

Wie registrierst du deinen Service, von Hand der deklarativ?


----------



## lumo (21. Jun 2010)

ich hab eine xml datei angelegt im ordner OSGI-INF
[XML]<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" enabled="true" immediate="false" name="tt.at.lumo.service.SiteService">
   <implementation class="tt.at.lumo.service.implementation.SiteServiceImpl"/>
   <service>
      <provide interface="tt.at.lumo.service.SiteService"/>
   </service>
</scr:component>
[/XML]

PS: späte antwort wegen wochenende


----------



## lumo (21. Jun 2010)

manno fehler gefunden!

mein MANIFEST.MF und meine xml-Dateiname stimmten nicht zusammen...

Service-Component: OSGI-INF/dataService.xml
OSGI-INF/SiteService.xml


----------

