Hi
On 24/07/12 14:47, hom wrote:
I managed to wire up the bus to the endpoint by adding bus="tb" to the bus
element.
But now I get a NullPointerException. It seems that the
TransformInInterceptor has problems transformig the message. Here is the
stack trace:
I apologize, I did not give you enough info.
Basically, Jettison-based provider is not capable of reading from the
regular XMLStreamReaders that the transform feature creates; the
provider creates its on Jettison mapped stream reader which attempts to
parse the sequence, and such - and all the customization which we can do
is done at the top of that JSON reader. Using the feature works with
XML-based providers or even with Jettison on the outbound side, but to
do this kind of conversion on the inbound side, one has to explicitly
configure JSONProvider, as suggested here:
http://cxf.apache.org/docs/jax-rs-data-bindings.html#JAX-RSDataBindings-CustomizingJAXBXMLandJSONinputandoutput
The provider then needs to be registered directly with the rs endpoint
Cheers, Sergey
2012-07-24 15:30:57,905 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 674 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Chain org.apache.cxf.phase.PhaseInterceptorChain@e2e59e was created.
Current flow:
receive [LoggingInInterceptor, PolicyInInterceptor]
pre-stream [CertConstraintsInterceptor]
post-stream [TransformInInterceptor]
unmarshal [JAXRSInInterceptor]
pre-logical [OneWayProcessorInterceptor]
invoke [ServiceInvokerInterceptor]
post-invoke [OutgoingChainInterceptor]
2012-07-24 15:30:57,905 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 259 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Invoking handleMessage on interceptor
org.apache.cxf.interceptor.LoggingInInterceptor@10d144e
2012-07-24 15:30:57,935 | INFO | er/v1/json/doit/ | LoggingInInterceptor
| eptor.AbstractLoggingInterceptor 233 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Inbound Message
----------------------------
ID: 1
Address: http://localhost:8181/cxf/xyz/json/doit/
Encoding: ISO-8859-1
Http-Method: POST
Content-Type: application/json
Headers: {Accept=[application/json], accept-encoding=[gzip,deflate],
Content-Length=[33], content-type=[application/json], Host=[localhost:8181],
User-Agent=[Jakarta Commons-HttpClient/3.1]}
Payload: {"DoItRequest":{"country":"DE"}}
--------------------------------------
2012-07-24 15:30:57,935 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 259 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Invoking handleMessage on interceptor
org.apache.cxf.ws.policy.PolicyInInterceptor@688c5d
2012-07-24 15:30:57,935 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 259 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Invoking handleMessage on interceptor
org.apache.cxf.transport.https.CertConstraintsInterceptor@1abf87e
2012-07-24 15:30:57,935 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 259 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Invoking handleMessage on interceptor
org.apache.cxf.interceptor.transform.TransformInInterceptor@1d76e81
2012-07-24 15:30:59,157 | DEBUG | heckpoint Worker | MessageDatabase
| emq.store.kahadb.MessageDatabase 1349 | 196 -
org.apache.activemq.activemq-core - 5.6.0 | Checkpoint started.
2012-07-24 15:30:59,257 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 259 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Invoking handleMessage on interceptor
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor@93660b
2012-07-24 15:30:59,317 | DEBUG | er/v1/json/doit/ | JAXRSUtils
| pache.cxf.jaxrs.utils.JAXRSUtils 234 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Trying to select a resource class, request path : /doit/
2012-07-24 15:30:59,347 | DEBUG | er/v1/json/doit/ | JAXRSUtils
| pache.cxf.jaxrs.utils.JAXRSUtils 296 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Trying to select a resource operation on the resource class
org.xyz.routes.json.Resource
2012-07-24 15:30:59,347 | DEBUG | er/v1/json/doit/ | JAXRSUtils
| pache.cxf.jaxrs.utils.JAXRSUtils 354 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Resource operation doit may get selected
2012-07-24 15:30:59,347 | DEBUG | er/v1/json/doit/ | JAXRSUtils
| pache.cxf.jaxrs.utils.JAXRSUtils 378 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Resource operation doit on the resource class
org.xyz.routes.json.Resource has been selected
2012-07-24 15:30:59,347 | DEBUG | er/v1/json/doit/ | JAXRSInInterceptor
| s.interceptor.JAXRSInInterceptor 227 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Request path is: /doit/
2012-07-24 15:30:59,347 | DEBUG | er/v1/json/doit/ | JAXRSInInterceptor
| s.interceptor.JAXRSInInterceptor 228 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Request HTTP method is: POST
2012-07-24 15:30:59,347 | DEBUG | er/v1/json/doit/ | JAXRSInInterceptor
| s.interceptor.JAXRSInInterceptor 229 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Request contentType is: application/json
2012-07-24 15:30:59,357 | DEBUG | er/v1/json/doit/ | JAXRSInInterceptor
| s.interceptor.JAXRSInInterceptor 230 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Accept contentType is: application/json
2012-07-24 15:30:59,357 | DEBUG | er/v1/json/doit/ | JAXRSInInterceptor
| s.interceptor.JAXRSInInterceptor 232 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Found operation: doit
2012-07-24 15:30:59,377 | DEBUG | er/v1/json/doit/ | bind
| javax.xml.bind.ContextFinder 258 | - - | Searching jaxb.properties
2012-07-24 15:30:59,377 | DEBUG | er/v1/json/doit/ | bind
| javax.xml.bind.ContextFinder 276 | - - | Searching the system
property
2012-07-24 15:30:59,377 | DEBUG | er/v1/json/doit/ | bind
| javax.xml.bind.ContextFinder 284 | - - | Searching
META-INF/services
2012-07-24 15:30:59,377 | DEBUG | er/v1/json/doit/ | bind
| javax.xml.bind.ContextFinder 299 | - - | Unable to
load:META-INF/services/javax.xml.bind.JAXBContext
2012-07-24 15:30:59,377 | DEBUG | er/v1/json/doit/ | bind
| javax.xml.bind.ContextFinder 309 | - - | Trying to create the
platform default provider
2012-07-24 15:30:59,377 | DEBUG | heckpoint Worker | MessageDatabase
| emq.store.kahadb.MessageDatabase 1484 | 196 -
org.apache.activemq.activemq-core - 5.6.0 | Checkpoint done.
2012-07-24 15:30:59,377 | DEBUG | er/v1/json/doit/ | ContextFactory
| m.sun.xml.bind.v2.ContextFactory 102 | - - | Property
com.sun.xml.bind.XmlAccessorFactoryis not active. Using JAXB's
implementation
2012-07-24 15:30:59,618 | DEBUG | er/v1/json/doit/ |
WebApplicationExceptionMapper | pl.WebApplicationExceptionMapper 62 |
119 - org.apache.cxf.cxf-api - 2.6.1 | WebApplicationException has been
caught, status: 400, message: exception cause class:
java.lang.NullPointerException
javax.ws.rs.WebApplicationException: java.lang.NullPointerException
at
org.apache.cxf.jaxrs.provider.json.JSONProvider.readFrom(JSONProvider.java:246)[130:org.apache.cxf.cxf-rt-rs-extension-providers:2.6.1]
at
org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1038)[132:org.apache.cxf.cxf-rt-frontend-jaxrs:2.6.1]
at
org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:614)[132:org.apache.cxf.cxf-rt-frontend-jaxrs:2.6.1]
at
org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:578)[132:org.apache.cxf.cxf-rt-frontend-jaxrs:2.6.1]
at
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:238)[132:org.apache.cxf.cxf-rt-frontend-jaxrs:2.6.1]
at
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:89)[132:org.apache.cxf.cxf-rt-frontend-jaxrs:2.6.1]
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)[119:org.apache.cxf.cxf-api:2.6.1]
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:122)[119:org.apache.cxf.cxf-api:2.6.1]
at
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:211)[126:org.apache.cxf.cxf-rt-transports-http:2.6.1]
at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213)[126:org.apache.cxf.cxf-rt-transports-http:2.6.1]
at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:154)[126:org.apache.cxf.cxf-rt-transports-http:2.6.1]
at
org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:129)[126:org.apache.cxf.cxf-rt-transports-http:2.6.1]
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:187)[126:org.apache.cxf.cxf-rt-transports-http:2.6.1]
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:110)[126:org.apache.cxf.cxf-rt-transports-http:2.6.1]
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:713)[61:org.apache.geronimo.specs.geronimo-servlet_2.5_spec:1.1.2]
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:166)[126:org.apache.cxf.cxf-rt-transports-http:2.6.1]
at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547)[72:org.eclipse.jetty.servlet:7.5.4.v20111024]
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:480)[72:org.eclipse.jetty.servlet:7.5.4.v20111024]
at
org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)[82:org.ops4j.pax.web.pax-web-jetty:1.0.9]
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)[70:org.eclipse.jetty.server:7.5.4.v20111024]
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)[71:org.eclipse.jetty.security:7.5.4.v20111024]
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)[70:org.eclipse.jetty.server:7.5.4.v20111024]
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941)[70:org.eclipse.jetty.server:7.5.4.v20111024]
at
org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:117)[82:org.ops4j.pax.web.pax-web-jetty:1.0.9]
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)[72:org.eclipse.jetty.servlet:7.5.4.v20111024]
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)[70:org.eclipse.jetty.server:7.5.4.v20111024]
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875)[70:org.eclipse.jetty.server:7.5.4.v20111024]
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)[70:org.eclipse.jetty.server:7.5.4.v20111024]
at
org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:72)[82:org.ops4j.pax.web.pax-web-jetty:1.0.9]
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)[70:org.eclipse.jetty.server:7.5.4.v20111024]
at
org.eclipse.jetty.server.Server.handle(Server.java:345)[70:org.eclipse.jetty.server:7.5.4.v20111024]
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)[70:org.eclipse.jetty.server:7.5.4.v20111024]
at
org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:936)[70:org.eclipse.jetty.server:7.5.4.v20111024]
at
org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)[66:org.eclipse.jetty.http:7.5.4.v20111024]
at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:224)[66:org.eclipse.jetty.http:7.5.4.v20111024]
at
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)[70:org.eclipse.jetty.server:7.5.4.v20111024]
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)[65:org.eclipse.jetty.io:7.5.4.v20111024]
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)[65:org.eclipse.jetty.io:7.5.4.v20111024]
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)[64:org.eclipse.jetty.util:7.5.4.v20111024]
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)[64:org.eclipse.jetty.util:7.5.4.v20111024]
at java.lang.Thread.run(Thread.java:662)[:1.6.0_24]
Caused by: java.lang.NullPointerException
at
org.codehaus.jettison.AbstractXMLInputFactory.readAll(AbstractXMLInputFactory.java:122)[129:org.codehaus.jettison.jettison:1.3.1]
at
org.codehaus.jettison.AbstractXMLInputFactory.createXMLStreamReader(AbstractXMLInputFactory.java:105)[129:org.codehaus.jettison.jettison:1.3.1]
at
org.codehaus.jettison.AbstractXMLInputFactory.createXMLStreamReader(AbstractXMLInputFactory.java:93)[129:org.codehaus.jettison.jettison:1.3.1]
at
org.apache.cxf.jaxrs.provider.json.utils.JSONUtils.createStreamReader(JSONUtils.java:159)[130:org.apache.cxf.cxf-rt-rs-extension-providers:2.6.1]
at
org.apache.cxf.jaxrs.provider.json.JSONProvider.createReader(JSONProvider.java:264)[130:org.apache.cxf.cxf-rt-rs-extension-providers:2.6.1]
at
org.apache.cxf.jaxrs.provider.json.JSONProvider.createReader(JSONProvider.java:254)[130:org.apache.cxf.cxf-rt-rs-extension-providers:2.6.1]
at
org.apache.cxf.jaxrs.provider.json.JSONProvider.readFrom(JSONProvider.java:216)[130:org.apache.cxf.cxf-rt-rs-extension-providers:2.6.1]
... 40 more
2012-07-24 15:30:59,658 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 259 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Invoking handleMessage on interceptor
org.apache.cxf.interceptor.OneWayProcessorInterceptor@1768eb6
2012-07-24 15:30:59,658 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 259 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Invoking handleMessage on interceptor
org.apache.cxf.interceptor.ServiceInvokerInterceptor@97d818
2012-07-24 15:30:59,658 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 259 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Invoking handleMessage on interceptor
org.apache.cxf.interceptor.OutgoingChainInterceptor@ec4446
2012-07-24 15:30:59,698 | DEBUG | er/v1/json/doit/ |
OutgoingChainInterceptor | rceptor.OutgoingChainInterceptor 176 |
119 - org.apache.cxf.cxf-api - 2.6.1 | Interceptors contributed by bus:
[org.apache.cxf.interceptor.LoggingOutInterceptor@1ba9eea,
org.apache.cxf.ws.policy.PolicyOutInterceptor@1173763,
org.apache.cxf.interceptor.transform.TransformOutInterceptor@1354d59]
2012-07-24 15:30:59,698 | DEBUG | er/v1/json/doit/ |
OutgoingChainInterceptor | rceptor.OutgoingChainInterceptor 180 |
119 - org.apache.cxf.cxf-api - 2.6.1 | Interceptors contributed by service:
[]
2012-07-24 15:30:59,698 | DEBUG | er/v1/json/doit/ |
OutgoingChainInterceptor | rceptor.OutgoingChainInterceptor 184 |
119 - org.apache.cxf.cxf-api - 2.6.1 | Interceptors contributed by endpoint:
[org.apache.cxf.interceptor.MessageSenderInterceptor@6913ce]
2012-07-24 15:30:59,698 | DEBUG | er/v1/json/doit/ |
OutgoingChainInterceptor | rceptor.OutgoingChainInterceptor 190 |
119 - org.apache.cxf.cxf-api - 2.6.1 | Interceptors contributed by binding:
[org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor@9366ba]
2012-07-24 15:30:59,698 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 205 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Adding interceptor
org.apache.cxf.interceptor.LoggingOutInterceptor@1ba9eea to phase pre-stream
2012-07-24 15:30:59,698 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 205 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Adding interceptor
org.apache.cxf.ws.policy.PolicyOutInterceptor@1173763 to phase setup
2012-07-24 15:30:59,698 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 205 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Adding interceptor
org.apache.cxf.interceptor.transform.TransformOutInterceptor@1354d59 to
phase pre-stream
2012-07-24 15:30:59,698 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 205 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Adding interceptor
org.apache.cxf.interceptor.MessageSenderInterceptor@6913ce to phase
prepare-send
2012-07-24 15:30:59,698 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 205 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Adding interceptor
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor@9366ba to phase marshal
2012-07-24 15:30:59,698 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 674 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Chain org.apache.cxf.phase.PhaseInterceptorChain@13d6bcb was
created. Current flow:
setup [PolicyOutInterceptor]
prepare-send [MessageSenderInterceptor]
pre-stream [LoggingOutInterceptor, TransformOutInterceptor]
marshal [JAXRSOutInterceptor]
2012-07-24 15:30:59,698 | DEBUG | er/v1/json/doit/ | PhaseInterceptorChain
| .cxf.phase.PhaseInterceptorChain 259 | 119 - org.apache.cxf.cxf-api -
2.6.1 | Invoking handleMessage on interceptor
org.apache.cxf.ws.policy.PolicyOutInterceptor@1173763
2012-07-24 15:30:59,698 | DEBUG | er/v1/json/doit/ | PolicyOutInterceptor
| f.ws.policy.PolicyOutInterceptor 63 | 119 - org.apache.cxf.cxf-api -
2.6.1 | No binding operation info.
2012-07-
Do you have an idea what could be wrong here?
--
View this message in context:
http://camel.465427.n5.nabble.com/CXFRS-does-not-process-JSON-tp5716343p5716403.html
Sent from the Camel - Users mailing list archive at Nabble.com.
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/
Blog: http://sberyozkin.blogspot.com