[ 
https://issues.apache.org/jira/browse/AXIS2C-790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12547143
 ] 

Dinesh Premalal commented on AXIS2C-790:
----------------------------------------

Bill,
   There is a null check for transport_sender inside the 
axis2_transport_out_desc_set_sender, since it is null we are getting 
AXIS2_ERROR_INVALID_NULL_PARAM. My understanding is there is no point of doing 
null check for transport_sender twice. I feel that your suggestion is more 
appropriate, therefore better to remove other check. However as I said in some 
other thread, I think we should have a mechanism to maintain a error stack.

> Unhelpful message AXIS2_ERROR_INVALID_NULL_PARAM when DLLs missing from 
> client repo lib directory.
> --------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2C-790
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-790
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: core/deployment
>    Affects Versions: 1.1.0
>         Environment: Windows XP, Visual Studio 2005
>            Reporter: Bill Mitchell
>            Assignee: Dinesh Premalal
>            Priority: Minor
>
> If the client repository is incomplete, in particular, if the client has the 
> axis2_http_sender.dll and axis2_http_receiver.dll in the binary directory 
> with the application instead of in the repo/lib directory, the service cannot 
> be created with a very uninformative Axis errorno 2, 
> AXIS2_ERROR_INVALID_NULL_PARAM.  
> The initial error is diagnosed well by axutil_class_loader_create_dll() who 
> posts errorno 100, AXIS2_ERROR_DLL_CREATE_FAILED.  But the code in 
> axis2_conf_builder_process_transport_senders() in conf_builder.c ignores the 
> error indicated by the null pointer return and proceeds to call 
> axis2_transport_out_desc_set_sender() with the null pointer, yielding the 
> very uninformative NULL_PARAM error.  
> In axis2_conf_builder_process_transport_senders(), the code fragment:
>             transport_sender =
>                 axutil_class_loader_create_dll(env, impl_info_param);
>             axis2_transport_out_desc_add_param(transport_out, env,
>                                                impl_info_param);
>             status =
>                 axis2_transport_out_desc_set_sender(transport_out, env,
>                                                     transport_sender);
> should read:
>             transport_sender =
>                 axutil_class_loader_create_dll(env, impl_info_param);
>             axis2_transport_out_desc_add_param(transport_out, env,
>                                                impl_info_param);
>             if (!transport_sender)
>             {
>                 axis2_transport_out_desc_free(transport_out, env);
>                 return AXIS2_FAILURE;
>             }
>             status =
>                 axis2_transport_out_desc_set_sender(transport_out, env,
>                                                     transport_sender);
> When I introduced this change, the service create fails with the useful 
> errorno 100 pointing the administrator to the DLL problem.  
> Of course, when the axis2_http_sender.dll and axis2_http_receiver.dll are 
> placed correctly in the repo/lib directory, the error disappears.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to