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]

Reply via email to