Hi Kelvin,
Find my comments inline.
Kelvin Lin wrote:
Hi all,
But it failed in my environment, because I can't find some apis and
variable name at all, like axis2_property_t and AXIS2_OPTIONS_SET_PROPERTY.
Those instructions were intended for v0.96. Since v1.0 the util
declarations were renamed with a axutil_ prefix and the macros were
dropped. Hence these should be axutil_property_t and
axis2_options_set_property respectively.
I used official version axis2c-src-1.0.0 and changed axis2.xml like:
<transportSender name="https" class="axis2_http_sender">
<parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
</transportSender>
<parameter name="SERVER_CERT">/path/to/ca/certificate</parameter>
<!--<parameter
name="KEY_FILE">/path/to/client/certificate/chain/file</parameter>
<parameter name="SSL_PASSPHRASE">passphrase</parameter>
-->
This is all you need in order to get ssl working, usually. :)
At the same time, I called following apis in my program:
axis2_options_set_soap_version(options, env, AXIOM_SOAP12);
axis2_options_set_transport_in_protocol(options, env,
AXIS2_TRANSPORT_ENUM_HTTPS);
Axis2 engine should set the appropriate protocols according to the epr
that you use. For example for a https endpoint, axis2 engine would look
at the https://.... uri and understand that the protocol that should be
used is https. In particular, setting transport_in protocol is not
useful if you are not using different ports to send and receive messages
(dual client).
But the server I built by myself didn't have any response and get error
code 82, Input stream is NULL in msg_ctx.
That is because our simple_axis_server is not capable of handling ssl.
Please refer to the axis2 manual [1] for more information on deploying
axis2 in apache2 server. Make sure to have mod_ssl installed.
What apis should I call to support https and how to config axis2.xml to
specify pem file both under needing authentication and no needing
authentication?
There are three properties that are related to ssl transport,
SERVER_CERT, KEY_FILE and SSL_PASSPHRASE. Please refer to [2] for more
information on each.
This is how you set the SERVER_CERT for expample:
axutil_property_t ssl_ca_file = axutil_property_create(env);
axutil_property_set_value(ssl_ca_file, env,
axutil_strdup(env, "/home/dumindu/dummyCA/demoCA/cacert.pem"));
axis2_options_set_property(options, env, "SERVER_CERT", ssl_ca_file);
You can set the other three properties accordingly, too. These
properties however, are *not needed* to be set in the code, if you can
set them in axis2.xml.
Tutorial [2] was written a while back, so there can be a few errors.
Please let me know if you find any :)
Regards,
Dumindu.
[1] http://ws.apache.org/axis2/c/docs/axis2c_manual.html#mod_axis2
[2] http://people.apache.org/~dumindu/HowToConfigureSSL.html
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]