[ 
http://issues.apache.org/jira/browse/AXIS2C-330?page=comments#action_12450711 ] 
            
Jose M. Sánchez commented on AXIS2C-330:
----------------------------------------


Thanks, now it works, but I have tested that if you add documentation elements 
to the operation it still fails in the same place.

For example by modifying the googlesearch.wsdl as follows you can reproduce the 
problem:

[...]
  <portType name="GoogleSearchPort">

    <operation name="doGetCachedPage">
      <documentation>test</documentation> <-- I have added this documentation 
element
      <input message="typens:doGetCachedPage"/>
      <output message="typens:doGetCachedPageResponse"/>
    </operation>

    <operation name="doSpellingSuggestion">
      <input message="typens:doSpellingSuggestion"/>
      <output message="typens:doSpellingSuggestionResponse"/>
    </operation>

    <operation name="doGoogleSearch">
      <input message="typens:doGoogleSearch"/>
      <output message="typens:doGoogleSearchResponse"/>
    </operation>

  </portType>
[...]

> Null pointer read while parsing WSDL
> ------------------------------------
>
>                 Key: AXIS2C-330
>                 URL: http://issues.apache.org/jira/browse/AXIS2C-330
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: woden
>    Affects Versions: Current (Nightly)
>         Environment: Windows XP
>            Reporter: Jose M. Sánchez
>
> While parsing a WSDL file  my program crashes because of reading a null 
> pointer.
> 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.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to