You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Samisa Abeysinghe <sa...@gmail.com> on 2006/10/11 15:52:06 UTC

[Fwd: Problems with woden]

Forwarding with correct prefix.

Samisa...

-------- Original Message --------
Subject: 	Problems with woden
Date: 	Wed, 11 Oct 2006 10:57:00 +0200
From: 	Jose Miguel Sanchez Martin <jo...@swissrisk.com>
Reply-To: 	Apache AXIS C User List <ax...@ws.apache.org>
To: 	axis-c-user@ws.apache.org




Hi,

I would like to invoke a web service operation without using the stub 
generator, to that goal I am using the woden parser to parse the WSDL 
file and generate the request message accordingly. But it crashes (I am 
testing this on Windows). While debugging I have found the following 
situation:

file: /c/woden/src/wsdl/documentable.c

I see that:

    documentable_impl_l = NULL

    woden_documentable_resolve_methods(
        woden_documentable_t *documentable,
        const axis2_env_t *env,
        woden_documentable_t *documentable_impl,
        axis2_hash_t *methods)
    {
    [...]
        documentable->ops->add_documentation_element =
    axis2_hash_get(methods, <-- after this, add_documentation_element = NULL
                "add_documentation_element", AXIS2_HASH_KEY_STRING);
        if (!documentable->ops->add_documentation_element &&
    documentable_impl_l) <-- it does not enter here
            documentable->ops->add_documentation_element =
               
    documentable_impl_l->documentable.ops->add_documentation_element;
    [...]
    }


after the execution of this function, the operation 
add_documentation_element = NULL, then in the following function it fails:


file: /c/woden/src/builder/wsdl10_reader.c

    static void *
    parse_interface_op(
        void *reader,
        const axis2_env_t *env,
        axiom_node_t *op_el_node,
        void *desc,
        void *parent)
    {
    [...]
            if (AXIS2_TRUE == axis2_qname_util_matches(env,
                    q_elem_documentation, temp_el_node))
            {
                void *documentation = NULL;

                documentation = parse_documentation(reader, env,
    temp_el_node, desc);
                op = woden_interface_op_to_documentable(op, env);
                WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT(op, env,
    documentation); <-- Fails here
            }

    [...]
    }



The call to WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT fails, because 
the method add_documentation_element is null.

I have tested this with my own code, as well as with the test_woden 
sample program (which is very similar to my code), using different wsdl 
files, for example the googlesearch.wsdl file, and the result was always 
the same.

Can this be a bug or am I doing something wrong?

Thanks & regards,

jms.




---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org