Uploaded image for project: 'Axis2-C'
  1. Axis2-C
  2. AXIS2C-790

Unhelpful message AXIS2_ERROR_INVALID_NULL_PARAM when DLLs missing from client repo lib directory.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.1.0
    • 1.2.0
    • core/deployment
    • None
    • Windows XP, Visual Studio 2005

    Description

      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.

      Attachments

        Activity

          People

            xydinesh Dinesh Weerapurage
            wtmitchell3 Bill Mitchell
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: