axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Mitchell (JIRA)" <j...@apache.org>
Subject [jira] Created: (AXIS2C-790) Unhelpful message AXIS2_ERROR_INVALID_NULL_PARAM when DLLs missing from client repo lib directory.
Date Wed, 28 Nov 2007 18:31:43 GMT
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
            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: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


Mime
View raw message