+ if (node && axiom_node_get_node_type(node, this->env) == AXIOM_ELEMENT)
+ {
+ el = (axiom_element_t *)axiom_node_get_data_element(node, this->env);
+ qname = axiom_element_get_qname(el, this->env, node);
+ success = streq("purgePublisherReceived",
+ axutil_qname_to_string(qname, this->env));
+ if (!success)
+ {
+ DBG1(DBG_TNC, "%s", axiom_element_to_string(el, this->env, node));
+ }
+ }
+ axiom_node_free_tree(result, this->env);
+
+ return success;
+}
+
+static bool publish(private_tnc_ifmap_listener_t *this)
+{
+ axiom_node_t *request, *result, *node;
+ axiom_element_t *el;
+ axiom_namespace_t *ns;
+ axiom_attribute_t *attr;
+
+ /* build publish request */
+ ns = axiom_namespace_create(this->env, IFMAP_NAMESPACE, "ifmap");
+ el = axiom_element_create(this->env, NULL, "publish", ns, &request);
+ attr = axiom_attribute_create(this->env, "session-id", this->session_id, NULL);
+ axiom_element_add_attribute(el, this->env, attr, request);
+
+ /* send publish request */
+ result = axis2_svc_client_send_receive(this->svc_client, this->env, request);
+ if (!result)
+ {
+ return FALSE;
+ }
+
+ /* process publishReceived */
+ node = axiom_node_get_first_child(result, this->env);