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.