Hi Sergey

Try as I may I have been unable to get this to work. The main problem
seems to be defining http and https endpoints in the same tomcat and
web.xml using cxf and rest. If I use the address property on the rest
endpoint it tries to pull in Jetty. Can this be done?

Thanks

Paul

On Mon, Feb 20, 2012 at 6:16 PM, Sergey Beryozkin <[email protected]> wrote:
> Hi,
>
> On 20/02/12 23:10, Paul Read wrote:
>>
>> Sergey
>>
>> Yes that looks extactly what I need ! This is the coolest solution!
>>
>> If I may ask...for endpoint 1 path 2, would the HttpRequest now have
>> the cert information or would I have to save it in the session object
>> at endpoint 2, or in a spring request object?
>>
>
> I suspect you would need to use some custom mechanism for making the certs
> captured in the https path available to the endpoint 1/path2.
>
> I'm not sure if it's possible to share the same session between https & http
> invocation - probably not, but I haven't tried :-).
>
> Cheers, Sergey
>
>
>
>> Thanks
>>
>> Paul
>>
>> On Mon, Feb 20, 2012 at 5:35 PM, Sergey Beryozkin<[email protected]>
>>  wrote:
>>>
>>> Hi,
>>>
>>> On 20/02/12 20:28, pdread wrote:
>>>>
>>>>
>>>>
>>>> Ok. I have done cxf considerable so I know I can grab the cert from the
>>>> request, and I usually use an interceptor but on this new project with
>>>> this
>>>> new company they don't use any framework other than servlets. Not even
>>>> spring.
>>>>
>>>> Now what I mean by grabbing the client certificate is still using TLS (
>>>> I
>>>> think) but not in the "normal" vain that most would expect. The current
>>>> app
>>>> does a redirect, from http port 8080 to https port 8443. This redirect
>>>> causes the browser to present
>>>> the client certificate in the normal manner and it is captured for later
>>>> processing, after the certificate is captured the comms is redirected
>>>> back
>>>> to http port 8080 and the processing continues.
>>>>
>>>> I guess I don't really mean not use https but more like, how can I, in
>>>> one
>>>> request, go from http to https, get the cert, then go back to http and
>>>> the
>>>> REST service.
>>>>
>>>> I've seen cxf can do redirects and was wonder if this could be done but
>>>> I'm
>>>> not versed enough to figure it out. It would be a big feather in my cap
>>>> if
>>>> I
>>>> could do this since the altimate customer wants this done like yesterday
>>>> and
>>>> I'm holding things up trying to bring new tech into their hack and slash
>>>> world.
>>>>
>>>
>>> I'm wondering if you are after something like this:
>>>
>>> 1. have one endpoint listening on the unsecured http port, have the
>>> service
>>> class like this:
>>> @Path("http")
>>> public class HttpService {
>>> private @Context UriInfo ui;
>>>
>>> private String httpsUri;
>>>
>>> @Path("1")
>>> @GET
>>> public Response one() {
>>>   return Response.seeOther(httpsUri).build()
>>> }
>>>
>>> @Path("2")
>>> @GET
>>> public Response two() {
>>> }
>>>
>>> }
>>>
>>>
>>> Endpoint 2:
>>>
>>> @Path("https")
>>> public class HttpService {
>>> private @Context UriInfo ui;
>>>
>>> private String httpUri2;
>>>
>>> @GET
>>> public Response theHttps() {
>>>   // grab the certs at the interceptor level, and now redirect back to
>>> @Path("2") in the prev endpoint
>>>   return Response.seeOther(httpUri2).build()
>>> }
>>>
>>> }
>>>
>>> Something like that ?
>>>
>>> Cheers, Sergey
>>>
>>>
>>>> Thanks
>>>>
>>>> Paul
>>>>
>>>> --
>>>> View this message in context:
>>>>
>>>> http://cxf.547215.n5.nabble.com/http-https-http-and-REST-tp5497801p5500178.html
>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>
>>>
>>>
>>>
>>> --
>>> Sergey Beryozkin
>>>
>>> Talend Community Coders
>>> http://coders.talend.com/
>>>
>>> Blog: http://sberyozkin.blogspot.com
>
>

Reply via email to