It's all about the answers!

Ask a question

Service Provider plugin fails to load required interfaces


Luca Martinucci (1.0k397112) | 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 (63.6k33646) | 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.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.