Hi Yuan,

This could also be a problem with openssl library. What is the version of openssl you are using? Are you using rampart binary version or source version? If it is binary version, it was compiled with openssl 0.9.8d. So you have to have either that version or version higher than that.

Regards,
Shankar.

Manjula Peiris wrote:
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]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to