Exemplo n.º 1
0
AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL
axiom_attribute_create_str(
    const axutil_env_t * env,
    axutil_string_t * localname,
    axutil_string_t * value,
    axiom_namespace_t * ns)
{
    axiom_attribute_t *attribute = NULL;

    AXIS2_ENV_CHECK(env, NULL);
    /* localname is mandatory */
    AXIS2_PARAM_CHECK(env->error, localname, NULL);

    attribute = (axiom_attribute_t *)AXIS2_MALLOC(env->allocator, sizeof(axiom_attribute_t));
    if(!attribute)
    {
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        return NULL;
    }

    /**  initialize fields */
    attribute->localname = NULL;
    attribute->value = NULL;
    attribute->ns = NULL;
    attribute->qname = NULL;

    attribute->localname = axutil_string_clone(localname, env);
    if(!(attribute->localname))
    {
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        AXIS2_FREE(env->allocator, attribute);
        return NULL;
    }
    if(value)
    {
        attribute->value = axutil_string_clone(value, env);
        if(!(attribute->value))
        {
            AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
            axutil_string_free(attribute->localname, env);
            AXIS2_FREE(env->allocator, attribute);
            return NULL;
        }
    }
    attribute->ns = ns;

    attribute->ref = 0;

    return attribute;
}
Exemplo n.º 2
0
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_namespace_set_uri_str(
    axiom_namespace_t * om_namespace,
    const axutil_env_t * env,
    axutil_string_t * uri)
{
    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
    AXIS2_PARAM_CHECK(env->error, uri, AXIS2_FAILURE);

    if(om_namespace->uri)
    {
        axutil_string_free(om_namespace->uri, env);
        om_namespace->uri = NULL;
    }

    om_namespace->uri = axutil_string_clone(uri, env);
    if(!(om_namespace->uri))
    {
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        return AXIS2_FAILURE;
    }

    return AXIS2_SUCCESS;

}
Exemplo n.º 3
0
AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
axiom_namespace_create_str(
    const axutil_env_t * env,
    axutil_string_t * uri,
    axutil_string_t * prefix)
{
    axiom_namespace_t *om_namespace = NULL;

    if(!uri)
    {
        uri = axutil_string_create(env, "");
    }

    om_namespace = (axiom_namespace_t *)AXIS2_MALLOC(env->allocator, sizeof(axiom_namespace_t));
    if(!om_namespace)
    {
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        return NULL;
    }

    om_namespace->ref = 0;
    om_namespace->prefix = NULL;
    om_namespace->uri = NULL;
    om_namespace->key = NULL;

    om_namespace->uri = axutil_string_clone(uri, env);
    if(!om_namespace->uri)
    {
        AXIS2_FREE(env->allocator, om_namespace);
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        return NULL;
    }

    if(prefix)
    {
        om_namespace->prefix = axutil_string_clone(prefix, env);
        if(!om_namespace->prefix)
        {
            AXIS2_FREE(env->allocator, om_namespace);
            AXIS2_FREE(env->allocator, om_namespace->uri);
            AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
            return NULL;
        }
    }

    return om_namespace;
}
Exemplo n.º 4
0
AXIS2_EXTERN axis2_handler_desc_t *AXIS2_CALL
axis2_handler_desc_create(
    const axutil_env_t * env,
    axutil_string_t * name)
{
    axis2_handler_desc_t *handler_desc = NULL;

    handler_desc = AXIS2_MALLOC(env->allocator, sizeof(axis2_handler_desc_t));
    if(!handler_desc)
    {
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory");
        return NULL;
    }

    handler_desc->param_container = NULL;
    handler_desc->name = NULL;
    handler_desc->rules = NULL;
    handler_desc->handler = NULL;
    handler_desc->class_name = NULL;
    handler_desc->parent = NULL;

    handler_desc->param_container = axutil_param_container_create(env);
    if(!handler_desc->param_container)
    {

        /** error code is already set by last param container create */
        axis2_handler_desc_free(handler_desc, env);
        return NULL;
    }

    handler_desc->rules = axis2_phase_rule_create(env, NULL);
    if(!handler_desc->rules)
    {

        /** error code is already set by last param container create */
        axis2_handler_desc_free(handler_desc, env);
        return NULL;
    }

    if(name)
    {
        handler_desc->name = axutil_string_clone(name, env);
    }

    return handler_desc;
}
Exemplo n.º 5
0
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_text_set_value_str(
    struct axiom_text * om_text,
    const axutil_env_t * env,
    axutil_string_t * value)
{
    if(om_text->value)
    {
        axutil_string_free(om_text->value, env);
        om_text->value = NULL;
    }
    if(value)
    {
        om_text->value = axutil_string_clone(value, env);
    }
    return AXIS2_SUCCESS;
}
Exemplo n.º 6
0
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axis2_options_set_soap_action(
    axis2_options_t * options,
    const axutil_env_t * env,
    axutil_string_t * soap_action)
{
    if(options->soap_action)
    {
        axutil_string_free(options->soap_action, env);
        options->soap_action = NULL;
    }

    if(soap_action)
    {
        options->soap_action = axutil_string_clone(soap_action, env);
    }
    return AXIS2_SUCCESS;
}
Exemplo n.º 7
0
AXIS2_EXTERN axiom_text_t *AXIS2_CALL
axiom_text_create_str(
    const axutil_env_t * env,
    axiom_node_t * parent,
    axutil_string_t * value,
    axiom_node_t ** node)
{
    axiom_text_t *om_text = NULL;
    AXIS2_ENV_CHECK(env, NULL);
    AXIS2_PARAM_CHECK(env->error, node, NULL);

    *node = axiom_node_create(env);
    if(!(*node))
    {
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unable to create node needed by om text");
        return NULL;
    }

    om_text = (axiom_text_t *)AXIS2_MALLOC(env->allocator, sizeof(axiom_text_t));
    if(!om_text)
    {
        AXIS2_FREE(env->allocator, *node);
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Insufficient memory to create om text");
        return NULL;
    }

    memset(om_text, 0, sizeof(axiom_text_t));
    if(value)
    {
        om_text->value = axutil_string_clone(value, env);
    }

    axiom_node_set_data_element((*node), env, om_text);
    axiom_node_set_node_type((*node), env, AXIOM_TEXT);

    if(parent && axiom_node_get_node_type(parent, env) == AXIOM_ELEMENT)
    {
        axiom_node_add_child(parent, env, (*node));
    }

    return om_text;
}
Exemplo n.º 8
0
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axis2_handler_desc_set_name(
    axis2_handler_desc_t * handler_desc,
    const axutil_env_t * env,
    axutil_string_t * name)
{
    if(handler_desc->name)
    {
        axutil_string_free(handler_desc->name, env);
        handler_desc->name = NULL;
    }

    if(name)
    {
        handler_desc->name = axutil_string_clone(name, env);
    }

    return AXIS2_SUCCESS;
}
Exemplo n.º 9
0
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_attribute_set_localname_str(
    axiom_attribute_t * attribute,
    const axutil_env_t * env,
    axutil_string_t * localname)
{
    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
    AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE);

    if(attribute->localname)
    {
        axutil_string_free(attribute->localname, env);
        attribute->localname = NULL;
    }

    attribute->localname = axutil_string_clone(localname, env);

    return AXIS2_SUCCESS;
}
Exemplo n.º 10
0
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_attribute_set_value_str(
    axiom_attribute_t * attribute,
    const axutil_env_t * env,
    axutil_string_t * value)
{
    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
    AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE);

    if(attribute->value)
    {
        axutil_string_free(attribute->value, env);
        attribute->value = NULL;
    }

    attribute->value = axutil_string_clone(value, env);
    if(!(attribute->value))
    {
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        return AXIS2_FAILURE;
    }
    return AXIS2_SUCCESS;
}