axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Klitos Kyriacou <klitos.kyria...@gmail.com>
Subject Axis C++ 1.6 client app connecting using https through http proxy
Date Fri, 23 Jan 2009 15:26:09 GMT
Hi, this is my first post, I've searched the list but couldn't find
the answer to my problem.

I have installed Axis C++ 1.6, Xerces and OpenSSL on Windows XP, and
set up the environment variable AXISCPP_DEPLOY and edited
axiscpp.conf.

I am trying to make an HTTPS connection to a web service through an
HTTP proxy. I can connect successfully using Axis for Java, but I also
want to do it in C++. In C++, I have code similar to the following:

	MyWebService api;
	api.setProxy("199.172.46.58", 8080);
	addCredentialsHeader(&api, username, password);  // local function
that constructs a header
	api.myMethod();

I do the above inside a try block. When the application calls
myMethod(), it catches the following exception:

Axis exception 23:
 HTTPTransportException:Unknown Transport Exception error:140770FC:
   SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

I used Wireshark to see what's being sent through the network. First,
I checked with the Axis Java application, which works ok. It sends a
plain-text HTTP CONNECT request to the proxy server. The proxy server
then responds and the encrypted text is subsequently sent to the web
service through HTTP tunneling.

When I use Wireshark with my equivalent Axis C++ application, I can
see that it connects to the proxy server and then sends what looks
like random binary data instead of a CONNECT request. Could it be
encrypting it prematurely? Obviously, the proxy server doesn't
understand it, so it sends back an HTTP 500 Server Error.

Can anyone give me any help? Has anyone successfully managed to
connect to an HTTPS service through an HTTP proxy?

Thanks,
Klitos

Mime
View raw message