Hi,

I have an Axis2/C client that does multiple calls to the same web service.
So I'm reusing the same axis2_svc_client object.
The WSDL was too complex for the WSDL code generator, so I had to create the 
code myself.

The client call works fine.
However my problem is I have a memory leak in every calls to the service.

I have the following calls to Axis:
* init:
    - axutil_env_create_all()
    - axis2_svc_client_create()
    - axis2_options_create()
    - axis2_options_set_to()
    - axis2_options_set_soap_version()
    - axis2_svc_client_set_proxy()
    - axis2_svc_client_set_options()
* done:
    - axis2_svc_client_free()
    - axutil_env_free
* for every call to the service:
    - I construct the XML request document:
        + axutil_qname_create()
        + axiom_element_create_with_qname()
        + axiom_element_create(), axiom_element_set_text()
    - axis2c_svc_client_send_receive()
    - I parse the XML response document:
        + axis2c_svc_client_get_http_status_code()
        + axis2c_svc_client_get_last_response_has_fault()
        + axiom_node_get_n,ext_sibling()
        + axiom_node_get_node_type()
        + axiom_node_get_data_element(), axiom_node_get_localname(), 
axiom_node_get_namespace(), axiom_node_get_text()


I suspect that either the request XML tree and the response XML tree are not 
freed,
but I've seen nothing in the axis2c_svc_client API to do that.

Which function calls are missing to fix my leak?

Olivier.

Reply via email to