camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From furchess123 <con...@hotmail.com>
Subject problem using recipientList (NoSuchEndpointException: CachedOutputStream$WrappedInputStream)
Date Tue, 03 Dec 2013 17:10:49 GMT
Hi,

I have been trying to use /*recipientList*/ to resolve dynamic target
endpoints while using Camel as an HTTP proxy between a client and a server.
Everything works fine without /recipientList/ - if I do something like this:

@Override
    public void configure() throws Exception {
       
from("servlet://mytest/?matchOnUriPrefix=true&servletName=camelHttpTransportServlet").
       
to("http://www.google.com?bridgeEndpoint=true&amp;throwExceptionOnFailure=false");
}


However, I want to be able to use recipientList to to get the target
end[point at runtime, like this:

    @Override
    public void configure() throws Exception {
       
from("servlet://route/?matchOnUriPrefix=true&servletName=camelHttpTransportServlet")
                .recipientList(method("myTestRouterClass",
"doStuffAndRouteTo"));
}


Where the bean that implements the recipients list resolving looks like
this:


public class MyTestRouterClass {

    @RecipientList
    public String doStuffAndRouteTo() {
        // do stuff, e.g. resolve actual destination endpoint based on
exchange headers, etc.
        // using www.google.com for the example 
        return
"http://www.google.com/?bridgeEndpoint=true&amp;throwExceptionOnFailure=false";
    }
}

The above method gets called, but I get the following exception:

org.apache.camel.NoSuchEndpointException: No endpoint could be found for:
org.apache.camel.converter.stream.CachedOutputStream$WrappedInputStream@1ac2e78c,
please check your classpath contains the needed Camel component jar.
	at
org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:65)
~[camel-core-2.12.1.jar:2.12.1]
	at
org.apache.camel.util.ExchangeHelper.resolveEndpoint(ExchangeHelper.java:88)
~[camel-core-2.12.1.jar:2.12.1]
	at
org.apache.camel.processor.RecipientListProcessor.resolveEndpoint(RecipientListProcessor.java:223)
~[camel-core-2.12.1.jar:2.12.1]
	at
org.apache.camel.processor.RecipientListProcessor.createProcessorExchangePairs(RecipientListProcessor.java:163)
~[camel-core-2.12.1.jar:2.12.1]
	at
org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:208)
~[camel-core-2.12.1.jar:2.12.1]
	at
org.apache.camel.processor.RecipientList.sendToRecipientList(RecipientList.java:153)
~[camel-core-2.12.1.jar:2.12.1]
	at org.apache.camel.processor.RecipientList.process(RecipientList.java:112)
~[camel-core-2.12.1.jar:2.12.1]
	at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
~[camel-core-2.12.1.jar:2.12.1]
	at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
~[camel-core-2.12.1.jar:2.12.1]
	at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
~[camel-core-2.12.1.jar:2.12.1]
	at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)
~[camel-core-2.12.1.jar:2.12.1]
	at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
[camel-core-2.12.1.jar:2.12.1]
	at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
[camel-core-2.12.1.jar:2.12.1]
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105)
[camel-core-2.12.1.jar:2.12.1]
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:87)
[camel-core-2.12.1.jar:2.12.1]
	at
org.apache.camel.component.http.CamelServlet.service(CamelServlet.java:127)
[camel-http-2.12.1.jar:2.12.1]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
[javax.servlet-3.0.0.v201112011016.jar:na]
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669)
[jetty-servlet-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1448)
[jetty-servlet-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilter(WebRequestTraceFilter.java:111)
[spring-boot-actuator-0.5.0.M2.jar:0.5.0.M2]
	at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
[jetty-servlet-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
[spring-web-4.0.0.M3.jar:4.0.0.M3]
	at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
[spring-web-4.0.0.M3.jar:4.0.0.M3]
	at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
[jetty-servlet-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:94)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
[jetty-servlet-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:108)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
[jetty-servlet-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:150)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:94)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
[spring-web-4.0.0.M3.jar:4.0.0.M3]
	at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
[spring-security-web-3.2.0.RC1.jar:3.2.0.RC1]
	at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
[jetty-servlet-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration$MetricsFilter.doFilter(MetricFilterAutoConfiguration.java:97)
[spring-boot-actuator-0.5.0.M2.jar:0.5.0.M2]
	at
org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration$MetricsFilter.doFilter(MetricFilterAutoConfiguration.java:82)
[spring-boot-actuator-0.5.0.M2.jar:0.5.0.M2]
	at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
[jetty-servlet-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
[jetty-servlet-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
[jetty-server-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
[jetty-security-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
[jetty-server-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
[jetty-server-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
[jetty-servlet-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
[jetty-server-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
[jetty-server-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
[jetty-server-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
[jetty-server-8.1.9.v20130131.jar:8.1.9.v20130131]
	at org.eclipse.jetty.server.Server.handle(Server.java:368)
[jetty-server-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:488)
[jetty-server-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:932)
[jetty-server-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:994)
[jetty-server-8.1.9.v20130131.jar:8.1.9.v20130131]
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
[jetty-http-8.1.9.v20130131.jar:8.1.9.v20130131]
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
[jetty-http-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
[jetty-server-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
[jetty-io-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
[jetty-io-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
[jetty-util-8.1.9.v20130131.jar:8.1.9.v20130131]
	at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
[jetty-util-8.1.9.v20130131.jar:8.1.9.v20130131]
	at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]


What is missing? 
(Nott sure if it is related at all… Note that I am using Jetty 8 in my web
application, which is a later version than the one that is bundled by
default with Camel (v.7). Could that be a problem?  I kind of doubt that it
causes this issue. Ideally I'd want to use the latest Jetty, but the
application fails to start because the packaging has been changed in v9, and
Camel is looking for some classes in a package that no longer exists. Are
there any plans to update Camel to use the latest Jetty?)

Thanks for your help!



--
View this message in context: http://camel.465427.n5.nabble.com/problem-using-recipientList-NoSuchEndpointException-CachedOutputStream-WrappedInputStream-tp5744249.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Mime
View raw message