cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: Using CXF with Https Proxy
Date Thu, 24 Jul 2014 16:45:21 GMT


I think the HOST header might be set down deep in the URLConnection call someplace.  Not really
sure.

Here’s my suggestion:   
Create an instance of org.apache.cxf.transport.https.HttpsURLConnectionFactory and call the
createConnection method in it passing in a Proxy object and TLSClientParameters (if needed)
and the URL.   Use that HttpURLConnection to try and do a post of a sample message to the
server.  If you can get that to work via request properties or similar, then we may be able
to get things updated to match whatever you get working.  


Dan



On Jul 24, 2014, at 10:37 AM, Oliver Becherer <ich@oliver-becherer.name> wrote:

> hi,
> 
> i assume this scenario is quite unusal (regarding answers), so i tried to find a valid
workaround and currently i'm trying it like this : 
> 
> Client client = ClientProxy.getClient(MYWEBSERVICEPORT);
> client.getRequestContext().put(Message.ENDPOINT_ADDRESS, "https://some-weird-https-proxy.com")
;
> 
> 
> this is working fine so far, but to tell the proxy where he has to deliver the message
to, i'd had to
> modify http protocol header, especially the Host variable.
> 
> -> unfortunately it seems, as if the Host Variable in http header is overwritten somewhere
deeeeep into the Interceptor Chain or at least in Transport layer
> -> my custom interceptor is setting Host Variable, but within outgoing Request, its
again overwritten from framework
> 
> 
> Could somebody please direct me , how i can avoid, that cxf is automatically setting
http header Host variable?
> 
> thanks a lot!
> 
> kind regards
> 
> O
> 			
> 
> Am 23.07.2014 um 21:57 schrieb Oliver Becherer <ich@oliver-becherer.name>:
> 
>> hi all,
>> 
>> i'm just stuck with a problem using cxf : 
>> 
>> i implemented a soap client to a webservice using cxf 2.6.1 and its working fine...
now i have the challenge of sending one single service operation
>> to the usual endpoint but over a proxy server that only accepts https.
>> 
>> so these are the base facts : 
>> 
>> Service Endpoint : https://some-usual-soap-endpoint.com
>> 
>> Proxy Server : https://some-weird-https-proxy.com
>> Proxy Port : 7777
>> 
>> This is my approach : 
>> 
>> HTTPClientPolicy policy = new HTTPClientPolicy();
>> policy.setProxyServer("some-weird-https-proxy.com");
>> policy.setProxyServerPort(7777);
>> 			
>> Client client = ClientProxy.getClient(awspt);
>> HTTPConduit http = (HTTPConduit) client.getConduit();
>> http.setClient(policy);
>> 
>> 
>> so far so good, but the requests are reaching the proxy not using https, but http
and the proxy is not accepting this.
>> 
>> can you help me, how to configure the Proxy Server within my Client, so Request is
sent using https?
>> 
>> any help is highly appreciated!
>> 
>> kind regards
>> 
>> O
> 

-- 
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com


Mime
View raw message