Yuan,
Please check the following.
-Whether you have engaged Rampart either pragmatically from your client
code or in your axis2.xml
-Whether the Security phase is there in your axis2.xml
-Manjula.
On Thu, 2008-07-03 at 15:52 -0700, yuanhuhu wrote:
> 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]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]