It's all about the answers!

Ask a question

Service Provider plugin fails to load required interfaces


Luca Martinucci (1.0k288110) | asked Jul 20 '15, 2:41 a.m.
edited Jul 20 '15, 2:58 a.m.
I have written a Java plugin for RTC 4.0.6 which is an extension to com.ibm.team.repository.service.serviceProvider.
I have also declared 2 prerequisite interfaces for this plugin.
Everything looks ok, apparently there are no syntax errors, and the plugin is build correctly.
Anyway, at runtime, the 2 required interfaces are not loaded, and I receive en exception that prevents the plugin from running.
It seems that the application server fails to parse the plugin configuration.
These are the contents of the plugin.xml:

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
    <extension point="com.ibm.team.repository.service.serviceProvider">
        <serviceProvider
            componentId="com.ibm.team.mycustomer"
            implementationClass="com.ibm.team.mycustomer.service.PluginUtility">           
            <provides>
                <providedService interface="com.ibm.team.mycustomer.common.IPluginUtility"/>
            </provides>
            <prerequisites>
              <requiredService interface="com.ibm.team.repository.service.IRepositoryItemService"/>
              <requiredService interface="com.ibm.team.workitem.service.IWorkItemServer"/>
            </prerequisites>
        </serviceProvider>
    </extension>
</plugin>


Any guess?



Comments
Ralph Schoon commented Jul 20 '15, 2:52 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

It would be way more helpful if you had provided the error message.


Luca Martinucci commented Jul 20 '15, 2:57 a.m.

This is the errror message:

The service 'com.ibm.team.mycustomer.service.PluginUtility@cd40cd4' failed to find the required service 'interface com.ibm.team.workitem.service.IWorkItemServer'. Check <prerequisites> in plugin.xml.

Accepted answer


permanent link
Ralph Schoon (62.0k33643) | answered Jul 20 '15, 3:18 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
edited Jul 20 '15, 3:20 a.m.
I have used this in https://rsjazz.wordpress.com/2012/11/30/a-create-approval-work-item-save-participant/ and it worked for me.



Luca Martinucci selected this answer as the correct answer

Comments
Luca Martinucci commented Jul 28 '15, 4:25 a.m.

Actually, I think that my syntax is correct.
I suppose that the service provider plugin is unable to retrieve the services because, being a service provider and neither an advisor nor a participant, it is not triggered by the Jazz server, so its plugin.xml is not parsed and its list of required services is empty (I debugged it, so I am sure that this list is empty).
Anyway, I solved the problem in a different way, by making each advisor and participant plugin retrieve the services and pass them to the service provider.

Your answer


Register or to post your answer.