Sergey,

Thanks for the quick reply.  I thought that was the issue from another
post<http://cxf.547215.n5.nabble.com/DOSGi-and-JSON-responses-td547432.html>
.

I added jettison 1.3.1 into the felix osgi container and received a
different error.  This one
seems to be around writing JSON for my REST service:

java.lang.VerifyError: (class: org/apache/cxf/jaxrs/provider/JSONUtils,
method: createBadgerFishWriter signature:
(Ljava/io/OutputStream;)Ljavax/xml/stream/XMLStreamWriter;) Incompatible
object argument for function call
at
org.apache.cxf.jaxrs.provider.JSONProvider.createWriter(JSONProvider.java:477)
at org.apache.cxf.jaxrs.provider.JSONProvider.marshal(JSONProvider.java:453)
at org.apache.cxf.jaxrs.provider.JSONProvider.marshal(JSONProvider.java:500)
at org.apache.cxf.jaxrs.provider.JSONProvider.writeTo(JSONProvider.java:348)
at
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:257)
at
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:144)
at
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:83)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at
org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:123)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:323)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:289)
at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:939)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.server.Server.handle(Server.java:342)
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:589)
at
org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:601)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214)
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:535)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529)
at java.lang.Thread.run(Thread.java:662)

Have you seen this?

Thanks!
Tony

On Tue, May 15, 2012 at 4:35 PM, Sergey Beryozkin <[email protected]>wrote:

> Hi,
>
> DOSGI does not ship a jettison library by default, so it needs to be
> installed and the DSW refreshed and it should solve the issue.
> Jackson or other providers can be registered if needed
>
> Cheers, Sergey
>
> On 15/05/12 21:17, Anthony Bargnesi wrote:
>
>> Hello,
>>
>> I am not sure how to configure a JSONProvider in CXF DOSGI.
>>
>> I have a single OSGI bundle that declares a REST interface and
>> implementation.
>>
>> The REST interface is defined as:
>>
>> @Path("dashboard")
>> public interface DashboardRS {
>>
>>     @GET
>>     @Path("get")
>>     @Produces(MediaType.**APPLICATION_JSON)
>>     Dashboards getDashboards();
>>
>>     @GET
>>     @Path("get/{name}")
>>     @Produces(MediaType.**APPLICATION_JSON)
>>     Dashboard getDashboard(@PathParam("name"**) final String name);
>> }
>>
>> It is configured in its Activator as:
>>
>> Dictionary<String, String>  settings = new Hashtable<String, String>();
>> settings.put("service.**exported.interfaces", "*");
>> settings.put("service.**exported.configs, "org.apache.cxf.rs");
>> settings.put("service.**exported.intents", "HTTP");
>> settings.put("org.apache.cxf.**rs.address", "http://localhost:9000/";);
>>
>> Activator.context.**registerService(DashboardRS.**class.getName(),
>>     new DashboardRSImpl(), settings);
>>
>> The bundle manifest is created as:
>>
>> Manifest-Version: 1.0
>> Bnd-LastModified: 1337112570807
>> Build-Jdk: 1.6.0_26
>> Built-By: tony
>> Bundle-Activator: dashboard.Activator
>> Bundle-ManifestVersion: 2
>> Bundle-Name: Dashboard REST Service
>> Bundle-SymbolicName: service.dashboard
>> Bundle-Version: 0.0.1.SNAPSHOT
>> Created-By: Apache Maven Bundle Plugin
>> Export-Package: service.dashboard;uses:="org.**osgi.frame
>>  work,javax.xml.bind.**annotation,javax.ws.rs";**version="0.0.1.SNAPSHOT"
>> Import-Package: javax.ws.rs;version="[1.0,2)",**
>> javax.xml.bind.annotation;
>>  version="[2.1,3)",org.osgi.**framework;version="[1.5,2)"
>> Tool: Bnd-1.50.0
>>
>> Do I have to configure a JSON provider?  If so how is that done in DOSGI?
>>
>> Thanks for the help!
>> Tony
>>
>>
>
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>
> Blog: http://sberyozkin.blogspot.com
>

Reply via email to