Hi,
I am trying to add in authentication to my Axis2/c client.
I downloaded the latest rampart C 1.2 and deployed to my axis2/c 1.4.
I followed the samples from rampart C and added the following lines to my
Axis2/C client. The client_home points to my Axis2/C installation:
D:\Tools\axis2\axis2c-bin-1.4.0-win32
--------------------------------------------------------
/*We need to specify the client's policy file location*/
if(client_home)
{
file_name = axutil_stracat(env, client_home, "\\client_repo\\");
policy_file = axutil_stracat(env, file_name, "policy.xml" );
AXIS2_FREE(env->allocator, file_name);
file_name = NULL;
}else{
printf("Client Home not Specified\n");
printf("echo client invoke FAILED!\n");
return 0;
}
/*Create the policy, from file*/
policy = neethi_util_create_policy_from_file(env, policy_file);
if(policy_file){
AXIS2_FREE(env->allocator, policy_file);
policy_file = NULL;
}
if(!policy)
{
printf("\nPolicy creation failed from the file. %s\n", policy_file);
}
stub =
axis2_stub_create_SecureServiceService(env, client_home, address);
if( NULL == stub ){
printf("Unable to create the stub with address='%s' and
client_home='%s'.\n", address, client_home);
if (env)
{
axutil_env_free((axutil_env_t *) env);
env = NULL;
}
exit(1);
}
svc_client = axis2_stub_get_svc_client(stub, env );
options = axis2_stub_get_options( stub, env);
if (NULL == options)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM,
AXIS2_FAILURE);
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "options is null in stub");
return NULL;
}
axis2_options_set_manage_session(options, env, AXIS2_TRUE);
status = axis2_svc_client_set_policy(svc_client, env, policy);
if(status == AXIS2_FAILURE)
{
printf("Policy setting failed\n");
}
--------------------------------------------------------
The code seems to run smoothly, but I can't see the security header appear in
the client request. I took at look at the log file generated and found that
the rampart dll is not loaded correctly.
---------------------------------------------------------------
[Thu Jul 03 15:23:33 2008] [debug] ..\..\src\core\deployment\dep_engine.c(1306)
axis2_dep_engine_load_module_dll: DLL path is :
D:\Tools\axis2\axis2c-bin-1.4.0-win32/modules/addressing/axis2_mod_addr.dll
[Thu Jul 03 15:23:33 2008] [debug] ..\..\util\src\class_loader.c(141) Object
loaded successfully
[Thu Jul 03 15:23:33 2008] [debug] ..\..\src\core\deployment\dep_engine.c(1306)
axis2_dep_engine_load_module_dll: DLL path is :
D:\Tools\axis2\axis2c-bin-1.4.0-win32/modules/logging/axis2_mod_log.dll
[Thu Jul 03 15:23:33 2008] [debug] ..\..\util\src\class_loader.c(141) Object
loaded successfully
[Thu Jul 03 15:23:33 2008] [debug] ..\..\src\core\deployment\dep_engine.c(1306)
axis2_dep_engine_load_module_dll: DLL path is :
D:\Tools\axis2\axis2c-bin-1.4.0-win32/modules/rampart/mod_rampart.dll
[Thu Jul 03 15:23:33 2008] [error] ..\..\util\src\class_loader.c(161) dlerror
reason: Something went wrong loading the DLL. If you happen to see this
message, please note that getting the exact error form Windows is a TODO. And
if possible please help fix it. :)
[Thu Jul 03 15:23:33 2008] [error] ..\..\src\core\deployment\dep_engine.c(1424)
Loading module description rampart failed
[Thu Jul 03 15:23:33 2008] [error] ..\..\src\core\deployment\dep_engine.c(1588)
Adding new module rampart to the deployment engine failed
[Thu Jul 03 15:23:33 2008] [error]
..\..\src\core\deployment\repos_listener.c(136) Repository listener
initialization failed
[Thu Jul 03 15:23:33 2008] [debug]
..\..\src\core\phaseresolver\phase_holder.c(139) Add handler
AddressingInHandler to phase Transport
---------------------------------------------------------------
I verified that the dll does exist in the path indicated in the log file:
D:\Tools\axis2\axis2c-bin-1.4.0-win32\modules\rampart>dir
Volume in drive D is Data
Volume Serial Number is 40CF-E9CF
Directory of D:\Tools\axis2\axis2c-bin-1.4.0-win32\modules\rampart
07/03/2008 02:22 PM <DIR> .
07/03/2008 02:22 PM <DIR> ..
09/19/2007 12:04 PM 515 module.xml
05/07/2008 05:13 PM 335,872 mod_rampart.dll
2 File(s) 336,387 bytes
2 Dir(s) 56,762,257,408 bytes free
Any idea how to troubleshoot or workaround the problem?
Thanks!
Yuan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]