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 <[email protected]> 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 <[email protected]>:
> 
>> 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
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to