[
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]