FAQ
Hi

I am using a web service that uses both SSL encryption and http
authentication. I've already passed the SSL encryption. I'm trying to set
the user name and password for the following destination
from("jetty:http://127.0.0.1:9000/Integration").process(new
MyProcessor()).process(new
ValidationProcessor()).to("jetty:https://172.18.40.60/SoapInterface?handlers=securityHandler);

and I am using the following bean in camel-context.xml
<!-- Jetty Security handling -->
<bean id="userRealm" class="org.mortbay.jetty.plus.jaas.JAASUserRealm">
<property name="name" value="tracker-users" />
<property name="username" value="itsuser" />
<property name="password" value="itsuser1" />
<property name="roleClassNames" value="com.classactionpl.jaas.UserGroup"
/>
</bean>
<bean id="constraint" class="org.mortbay.jetty.security.Constraint">
<property name="name" value="BASIC" />
<property name="roles" value="tracker-users" />
<property name="authenticate" value="true" />
</bean>
<bean id="constraintMapping"
class="org.mortbay.jetty.security.ConstraintMapping">
<property name="constraint" ref="constraint" />
<property name="pathSpec" value="/*" />
</bean>
<bean id="securityHandler"
class="org.mortbay.jetty.security.SecurityHandler">
<property name="userRealm" ref="userRealm" />
<property name="constraintMappings" ref="constraintMapping" />
</bean>

The following is the exception that I am getting:
6578 ERROR [6961504@qtp1-0] processor.DeadLetterChannel - Failed delivery
for exchangeId: ID-moismail-nb/4500-1250530211250/0-0. On delivery attempt:
0 caught: org.apache.camel.component.http.HttpOperationFailedException: HTTP
operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
org.apache.camel.component.http.HttpOperationFailedException: HTTP operation
failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
at
org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:114)
at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
at
org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:54)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)

Can you please tell what is going wrong?
btw: I am using camel 1.6.1 and jetty 1.5.1.0

Thanks
--
View this message in context: http://www.nabble.com/Jetty-HTTP-Authentication-tp25011226p25011226.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Search Discussions

  • Willem Jiang at Aug 18, 2009 at 1:54 am
    Hi,

    I think you misused the security handler.

    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("jetty:https://172.18.40.60/SoapInterface?handlers=securityHandler);

    Current Jetty component extends the http component which is using the
    common http client to invoke the http service or https service, and the
    jetty securityHandler does not work for it.

    You can find the usage of the http component[1] here.
    [1] http://camel.apache.org/http.html

    Willem

    M.Ismail wrote:
    Hi

    I am using a web service that uses both SSL encryption and http
    authentication. I've already passed the SSL encryption. I'm trying to set
    the user name and password for the following destination
    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("jetty:https://172.18.40.60/SoapInterface?handlers=securityHandler);

    and I am using the following bean in camel-context.xml
    <!-- Jetty Security handling -->
    <bean id="userRealm" class="org.mortbay.jetty.plus.jaas.JAASUserRealm">
    <property name="name" value="tracker-users" />
    <property name="username" value="itsuser" />
    <property name="password" value="itsuser1" />
    <property name="roleClassNames" value="com.classactionpl.jaas.UserGroup"
    />
    </bean>
    <bean id="constraint" class="org.mortbay.jetty.security.Constraint">
    <property name="name" value="BASIC" />
    <property name="roles" value="tracker-users" />
    <property name="authenticate" value="true" />
    </bean>
    <bean id="constraintMapping"
    class="org.mortbay.jetty.security.ConstraintMapping">
    <property name="constraint" ref="constraint" />
    <property name="pathSpec" value="/*" />
    </bean>
    <bean id="securityHandler"
    class="org.mortbay.jetty.security.SecurityHandler">
    <property name="userRealm" ref="userRealm" />
    <property name="constraintMappings" ref="constraintMapping" />
    </bean>

    The following is the exception that I am getting:
    6578 ERROR [6961504@qtp1-0] processor.DeadLetterChannel - Failed delivery
    for exchangeId: ID-moismail-nb/4500-1250530211250/0-0. On delivery attempt:
    0 caught: org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    org.apache.camel.component.http.HttpOperationFailedException: HTTP operation
    failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    at
    org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:114)
    at
    org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
    at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
    at
    org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at
    org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at
    org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
    at
    org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
    org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)

    Can you please tell what is going wrong?
    btw: I am using camel 1.6.1 and jetty 1.5.1.0

    Thanks
  • M.Ismail at Aug 18, 2009 at 11:35 am
    Hi,
    I've tried using the HTTP component and not the jetty one for the
    destination and adding the HTTP basic authentication options to the URL but
    I get the same exception. Here is the code after the modifications:
    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("https://172.18.40.60/SoapInterface?username=itsuser&password=itsuser1");

    I have even tried the following option:
    httpClient.authenticationPreemptive=true
    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("https://172.18.40.60/SoapInterface?httpClient.authenticationPreemptive=true&username=itsuser&password=itsuser1");

    Still, I have no idea why I get this exception:

    9844 ERROR [26285376@qtp1-0] processor.DeadLetterChannel - Failed delivery
    for exchangeId: ID-moismail-nb/1119-1250594930875/0-0. On delivery attempt:
    4 caught: org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    org.apache.camel.component.http.HttpOperationFailedException: HTTP operation
    failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    at
    org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:114)
    at
    org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
    at
    org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
    at
    org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at
    org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
    at
    org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at
    org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at
    org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
    org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at
    org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
    at
    org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
    org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
    10922 ERROR [26285376@qtp1-0] processor.DeadLetterChannel - Failed delivery
    for exchangeId: ID-moismail-nb/1119-1250594930875/0-0. On delivery attempt:
    5 caught: org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    org.apache.camel.component.http.HttpOperationFailedException: HTTP operation
    failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    at
    org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:114)
    at
    org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
    at
    org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
    at
    org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at
    org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
    at
    org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at
    org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at
    org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
    org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at
    org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
    at
    org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
    org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
    10922 DEBUG [26285376@qtp1-0] impl.DefaultCamelContext -
    log:org.apache.camel.DeadLetterChannel?level=error converted to endpoint:
    Endpoint[log:org.apache.camel.DeadLetterChannel?level=error] by component:
    org.apache.camel.component.log.LogComponent@15e00b7
    10938 ERROR [26285376@qtp1-0] camel.DeadLetterChannel -
    Exchange[BodyType:String, Body:<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><soap:messagebody/>
    </SOAP-ENV:Body></SOAP-ENV:Envelope>]
    10938 ERROR [26285376@qtp1-0] processor.DeadLetterChannel - Failed delivery
    for exchangeId: ID-moismail-nb/1119-1250594930875/0-0. Handled by the
    failure processor:
    RecipientList[log:org.apache.camel.DeadLetterChannel?level=error]

    Thanks,


    willem.jiang wrote:
    Hi,

    I think you misused the security handler.

    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("jetty:https://172.18.40.60/SoapInterface?handlers=securityHandler);

    Current Jetty component extends the http component which is using the
    common http client to invoke the http service or https service, and the
    jetty securityHandler does not work for it.

    You can find the usage of the http component[1] here.
    [1] http://camel.apache.org/http.html

    Willem

    M.Ismail wrote:
    Hi

    I am using a web service that uses both SSL encryption and http
    authentication. I've already passed the SSL encryption. I'm trying to set
    the user name and password for the following destination
    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("jetty:https://172.18.40.60/SoapInterface?handlers=securityHandler);

    and I am using the following bean in camel-context.xml
    <!-- Jetty Security handling -->
    <bean id="userRealm"
    class="org.mortbay.jetty.plus.jaas.JAASUserRealm">
    <property name="name" value="tracker-users" />
    <property name="username" value="itsuser" />
    <property name="password" value="itsuser1" />
    <property name="roleClassNames"
    value="com.classactionpl.jaas.UserGroup"
    />
    </bean>
    <bean id="constraint" class="org.mortbay.jetty.security.Constraint">
    <property name="name" value="BASIC" />
    <property name="roles" value="tracker-users" />
    <property name="authenticate" value="true" />
    </bean>
    <bean id="constraintMapping"
    class="org.mortbay.jetty.security.ConstraintMapping">
    <property name="constraint" ref="constraint" />
    <property name="pathSpec" value="/*" />
    </bean>
    <bean id="securityHandler"
    class="org.mortbay.jetty.security.SecurityHandler">
    <property name="userRealm" ref="userRealm" />
    <property name="constraintMappings" ref="constraintMapping"
    />
    </bean>

    The following is the exception that I am getting:
    6578 ERROR [6961504@qtp1-0] processor.DeadLetterChannel - Failed
    delivery
    for exchangeId: ID-moismail-nb/4500-1250530211250/0-0. On delivery
    attempt:
    0 caught: org.apache.camel.component.http.HttpOperationFailedException:
    HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation
    failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    at
    org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:114)
    at
    org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
    at
    org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
    at
    org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at
    org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
    at
    org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at
    org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at
    org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
    org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at
    org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
    at
    org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
    org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)

    Can you please tell what is going wrong?
    btw: I am using camel 1.6.1 and jetty 1.5.1.0

    Thanks
    Quoted from:
    http://www.nabble.com/Jetty-HTTP-Authentication-tp25011226p25017186.html
    --
    View this message in context: http://www.nabble.com/Jetty-HTTP-Authentication-tp25011226p25023034.html
    Sent from the Camel - Users mailing list archive at Nabble.com.
  • M.Ismail at Aug 18, 2009 at 12:27 pm
    Hi,
    I figure this problem out. The problem was that the http-component version
    is older than the camel-core version. Now, all version are in sync v1.6.1
    and everything is working fine.

    Thanks willem.jiang




    M.Ismail wrote:
    Hi,
    I've tried using the HTTP component and not the jetty one for the
    destination and adding the HTTP basic authentication options to the URL
    but I get the same exception. Here is the code after the modifications:
    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("https://172.18.40.60/SoapInterface?username=itsuser&password=itsuser1");

    I have even tried the following option:
    httpClient.authenticationPreemptive=true
    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("https://172.18.40.60/SoapInterface?httpClient.authenticationPreemptive=true&username=itsuser&password=itsuser1");

    Still, I have no idea why I get this exception:

    9844 ERROR [26285376@qtp1-0] processor.DeadLetterChannel - Failed
    delivery for exchangeId: ID-moismail-nb/1119-1250594930875/0-0. On
    delivery attempt: 4 caught:
    org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    at
    org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:114)
    at
    org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
    at
    org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
    at
    org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at
    org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
    at
    org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at
    org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at
    org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
    org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at
    org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
    at
    org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
    org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
    10922 ERROR [26285376@qtp1-0] processor.DeadLetterChannel - Failed
    delivery for exchangeId: ID-moismail-nb/1119-1250594930875/0-0. On
    delivery attempt: 5 caught:
    org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    at
    org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:114)
    at
    org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
    at
    org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
    at
    org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at
    org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
    at
    org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at
    org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at
    org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
    org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at
    org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
    at
    org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
    org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
    10922 DEBUG [26285376@qtp1-0] impl.DefaultCamelContext -
    log:org.apache.camel.DeadLetterChannel?level=error converted to endpoint:
    Endpoint[log:org.apache.camel.DeadLetterChannel?level=error] by component:
    org.apache.camel.component.log.LogComponent@15e00b7
    10938 ERROR [26285376@qtp1-0] camel.DeadLetterChannel -
    Exchange[BodyType:String, Body:<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><soap:messagebody/>
    </SOAP-ENV:Body></SOAP-ENV:Envelope>]
    10938 ERROR [26285376@qtp1-0] processor.DeadLetterChannel - Failed
    delivery for exchangeId: ID-moismail-nb/1119-1250594930875/0-0. Handled by
    the failure processor:
    RecipientList[log:org.apache.camel.DeadLetterChannel?level=error]

    Thanks,


    willem.jiang wrote:
    Hi,

    I think you misused the security handler.

    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("jetty:https://172.18.40.60/SoapInterface?handlers=securityHandler);

    Current Jetty component extends the http component which is using the
    common http client to invoke the http service or https service, and the
    jetty securityHandler does not work for it.

    You can find the usage of the http component[1] here.
    [1] http://camel.apache.org/http.html

    Willem

    M.Ismail wrote:
    Hi

    I am using a web service that uses both SSL encryption and http
    authentication. I've already passed the SSL encryption. I'm trying to
    set
    the user name and password for the following destination
    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("jetty:https://172.18.40.60/SoapInterface?handlers=securityHandler);

    and I am using the following bean in camel-context.xml
    <!-- Jetty Security handling -->
    <bean id="userRealm"
    class="org.mortbay.jetty.plus.jaas.JAASUserRealm">
    <property name="name" value="tracker-users" />
    <property name="username" value="itsuser" />
    <property name="password" value="itsuser1" />
    <property name="roleClassNames"
    value="com.classactionpl.jaas.UserGroup"
    />
    </bean>
    <bean id="constraint"
    class="org.mortbay.jetty.security.Constraint">
    <property name="name" value="BASIC" />
    <property name="roles" value="tracker-users" />
    <property name="authenticate" value="true" />
    </bean>
    <bean id="constraintMapping"
    class="org.mortbay.jetty.security.ConstraintMapping">
    <property name="constraint" ref="constraint" />
    <property name="pathSpec" value="/*" />
    </bean>
    <bean id="securityHandler"
    class="org.mortbay.jetty.security.SecurityHandler">
    <property name="userRealm" ref="userRealm" />
    <property name="constraintMappings"
    ref="constraintMapping" />
    </bean>

    The following is the exception that I am getting:
    6578 ERROR [6961504@qtp1-0] processor.DeadLetterChannel - Failed
    delivery
    for exchangeId: ID-moismail-nb/4500-1250530211250/0-0. On delivery
    attempt:
    0 caught: org.apache.camel.component.http.HttpOperationFailedException:
    HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation
    failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    at
    org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:114)
    at
    org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
    at
    org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
    at
    org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at
    org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
    at
    org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at
    org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at
    org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
    org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at
    org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
    at
    org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
    org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)

    Can you please tell what is going wrong?
    btw: I am using camel 1.6.1 and jetty 1.5.1.0

    Thanks
    Quoted from:
    http://www.nabble.com/Jetty-HTTP-Authentication-tp25011226p25017186.html
    --
    View this message in context: http://www.nabble.com/Jetty-HTTP-Authentication-tp25011226p25023803.html
    Sent from the Camel - Users mailing list archive at Nabble.com.
  • Claus Ibsen at Aug 18, 2009 at 12:29 pm
    On Tue, Aug 18, 2009 at 2:27 PM, M.Ismailwrote:
    Hi,
    I figure this problem out. The problem was that the http-component version
    is older than the camel-core version. Now, all version are in sync v1.6.1
    and everything is working fine.
    Fantastic. Glad it works with HTTPS on both jetty and the http so you
    can do it both ways.

    Thanks willem.jiang




    M.Ismail wrote:
    Hi,
    I've tried using the HTTP component and not the jetty one for the
    destination and adding the HTTP basic authentication options to the URL
    but I get the same exception. Here is the code after the modifications:
    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("https://172.18.40.60/SoapInterface?username=itsuser&password=itsuser1");

    I have even tried the following option:
    httpClient.authenticationPreemptive=true
    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("https://172.18.40.60/SoapInterface?httpClient.authenticationPreemptive=true&username=itsuser&password=itsuser1");

    Still, I have no idea why I get this exception:

    9844  ERROR [26285376@qtp1-0] processor.DeadLetterChannel - Failed
    delivery for exchangeId: ID-moismail-nb/1119-1250594930875/0-0. On
    delivery attempt: 4 caught:
    org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    at
    org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:114)
    at
    org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
    at
    org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
    at
    org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at
    org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
    at
    org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at
    org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at
    org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
    org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at
    org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
    at
    org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
    org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
    10922 ERROR [26285376@qtp1-0] processor.DeadLetterChannel - Failed
    delivery for exchangeId: ID-moismail-nb/1119-1250594930875/0-0. On
    delivery attempt: 5 caught:
    org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    at
    org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:114)
    at
    org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
    at
    org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
    at
    org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at
    org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
    at
    org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at
    org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at
    org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
    org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at
    org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
    at
    org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
    org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
    10922 DEBUG [26285376@qtp1-0] impl.DefaultCamelContext -
    log:org.apache.camel.DeadLetterChannel?level=error converted to endpoint:
    Endpoint[log:org.apache.camel.DeadLetterChannel?level=error] by component:
    org.apache.camel.component.log.LogComponent@15e00b7
    10938 ERROR [26285376@qtp1-0] camel.DeadLetterChannel -
    Exchange[BodyType:String, Body:<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><soap:messagebody/>
    </SOAP-ENV:Body></SOAP-ENV:Envelope>]
    10938 ERROR [26285376@qtp1-0] processor.DeadLetterChannel - Failed
    delivery for exchangeId: ID-moismail-nb/1119-1250594930875/0-0. Handled by
    the failure processor:
    RecipientList[log:org.apache.camel.DeadLetterChannel?level=error]

    Thanks,


    willem.jiang wrote:
    Hi,

    I think you misused the security handler.

    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("jetty:https://172.18.40.60/SoapInterface?handlers=securityHandler);

    Current Jetty component extends the http component which is using the
    common http client to invoke the http service or https service, and the
    jetty securityHandler does not work for it.

    You can find the usage of the http component[1] here.
    [1] http://camel.apache.org/http.html

    Willem

    M.Ismail wrote:
    Hi

    I am using a web service that uses both SSL encryption and http
    authentication. I've already passed the SSL encryption. I'm trying to
    set
    the user name and password for the following destination
    from("jetty:http://127.0.0.1:9000/Integration").process(new
    MyProcessor()).process(new
    ValidationProcessor()).to("jetty:https://172.18.40.60/SoapInterface?handlers=securityHandler);

    and I am using the following bean in camel-context.xml
    <!-- Jetty Security handling -->
    <bean id="userRealm"
    class="org.mortbay.jetty.plus.jaas.JAASUserRealm">
    <property name="name" value="tracker-users" />
    <property name="username" value="itsuser" />
    <property name="password" value="itsuser1" />
    <property name="roleClassNames"
    value="com.classactionpl.jaas.UserGroup"
    />
    </bean>
    <bean id="constraint"
    class="org.mortbay.jetty.security.Constraint">
    <property name="name" value="BASIC" />
    <property name="roles" value="tracker-users" />
    <property name="authenticate" value="true" />
    </bean>
    <bean id="constraintMapping"
    class="org.mortbay.jetty.security.ConstraintMapping">
    <property name="constraint" ref="constraint" />
    <property name="pathSpec" value="/*" />
    </bean>
    <bean id="securityHandler"
    class="org.mortbay.jetty.security.SecurityHandler">
    <property name="userRealm" ref="userRealm" />
    <property name="constraintMappings"
    ref="constraintMapping" />
    </bean>

    The following is the exception that I am getting:
    6578  ERROR [6961504@qtp1-0] processor.DeadLetterChannel - Failed
    delivery
    for exchangeId: ID-moismail-nb/4500-1250530211250/0-0. On delivery
    attempt:
    0 caught: org.apache.camel.component.http.HttpOperationFailedException:
    HTTP
    operation failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    org.apache.camel.component.http.HttpOperationFailedException: HTTP
    operation
    failed with statusCode: 401, status: HTTP/1.1 401 Unauthorized
    at
    org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:114)
    at
    org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
    at
    org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
    at
    org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
    at
    org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
    at
    org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
    at
    org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
    at
    org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at
    org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
    at
    org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at
    org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at
    org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
    org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at
    org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
    at
    org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
    org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)

    Can you please tell what is going wrong?
    btw: I am using camel 1.6.1 and jetty 1.5.1.0

    Thanks
    Quoted from:
    http://www.nabble.com/Jetty-HTTP-Authentication-tp25011226p25017186.html
    --
    View this message in context: http://www.nabble.com/Jetty-HTTP-Authentication-tp25011226p25023803.html
    Sent from the Camel - Users mailing list archive at Nabble.com.


    --
    Claus Ibsen
    Apache Camel Committer

    Open Source Integration: http://fusesource.com
    Blog: http://davsclaus.blogspot.com/
    Twitter: http://twitter.com/davsclaus

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupusers @
categoriescamel
postedAug 17, '09 at 5:49p
activeAug 18, '09 at 12:29p
posts5
users3
websitecamel.apache.org

People

Translate

site design / logo © 2021 Grokbase