Hi all,
not sure if this is the right place to ask as this is somehow OSGi related, but I'm currently working on a service that integrates via SCR and tries which has a reference to the SlingRepository service.

I used the following code:

/**
* @scr.reference
*/
private SlingRepository repository;

protected void bindRepository(SlingRepository repository) {
   this.repository = repository;
}

Bundling work fine (with SCR plugin) and the SCR config file looks ok to me:

<?xml version="1.0" encoding="UTF-8"?>
<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0";>
<scr:component enabled="true" immediate="true" name="com.day.cq.workflow.osgi.WorkflowServiceWrapper"> <scr:implementation class="com.day.cq.workflow.osgi.WorkflowServiceWrapper"/>
<scr:service servicefactory="false">
<scr:provide interface="com.day.cq.workflow.WorkflowService"/>
</scr:service>
<scr:property name="cq.workflow.workspace" value="crx.default"/>
<scr:property name="CQWorkflowService.CQ_WORKFLOW_ROOT" value="/cq-workflow/content"/>
<scr:property name="service.vendor" value="Day Management AG"/>
<scr:property name="cq.workflow.nodetype.url" value="CQ-INF/nodetypes/workflow.cnd"/> <scr:property name="service.description" value="Communique 5 workflow service."/> <scr:property name="service.pid" value="com.day.cq.workflow.osgi.WorkflowServiceWrapper"/> <scr:reference name="repository" interface="org.apache.sling.jcr.api.SlingRepository" cardinality="1..1" policy="static" bind="bindRepository" unbind="unbindRepository"/>
</scr:component>
</components>

But when I deploy my service, I get the following exception:

java.lang.IllegalArgumentException: argument type mismatch
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.felix.scr.impl.DependencyManager.invokeBindMethod(DependencyManager.java:886) at org.apache.felix.scr.impl.DependencyManager.bind(DependencyManager.java:668) at org.apache.felix.scr.impl.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:204) at org.apache.felix.scr.impl.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:134) at org.apache.felix.scr.impl.AbstractComponentManager.activateInternal(AbstractComponentManager.java:412) at org.apache.felix.scr.impl.AbstractComponentManager.enableInternal(AbstractComponentManager.java:333) at org.apache.felix.scr.impl.AbstractComponentManager.access$000(AbstractComponentManager.java:45) at org.apache.felix.scr.impl.AbstractComponentManager$1.run(AbstractComponentManager.java:103) at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:85) 17.01.2008 14:21:18 *ERROR* o.a.f.scr: Unexpected problem executing task (java.lang.NullPointerException)
java.lang.NullPointerException
at org.apache.felix.scr.impl.ImmediateComponentManager.disposeImplementationObject(ImmediateComponentManager.java:271) at org.apache.felix.scr.impl.ImmediateComponentManager.deleteComponent(ImmediateComponentManager.java:151) at org.apache.felix.scr.impl.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:479) at org.apache.felix.scr.impl.AbstractComponentManager.disableInternal(AbstractComponentManager.java:496) at org.apache.felix.scr.impl.AbstractComponentManager.enableInternal(AbstractComponentManager.java:341) at org.apache.felix.scr.impl.AbstractComponentManager.access$000(AbstractComponentManager.java:45) at org.apache.felix.scr.impl.AbstractComponentManager$1.run(AbstractComponentManager.java:103) at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:85)

Any idea what might be the cause for that problem and how to solve it?

Best regards,
Alex

Reply via email to