RestPublisher assumes service implementation is same as the provided interface

Steps to reproduce

Create a rest service where the implementation class implements an api rather than providing the interface itself.

eg

class foo.bar.impl implements foo.bar.api { ...}

<scr:component ... >
<implementation class="foo.bar.impl">
<service>
<provide interface="foo.bar.api" />
</service>
</scr:component>

The RestPublisher in the kernel assumes the two are the same as it looks up the service reference using the implementation class whereas the service is registered by the service's interface.

Workaround: ref the impl as the interface not the api class

Probably sort by replacing the whole rest publisher mess with Swagger

Status

Assignee

Unassigned

Reporter

James Perrin

Severity

Incorrectly Functioning With Workaround

Tags (folksonomy)

Components

Affects versions

Priority

Major
Configure