[
https://issues.apache.org/jira/browse/AXIS2C-1613?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Lazarski resolved AXIS2C-1613.
-------------------------------------
Fix Version/s: 2.0.0
Resolution: Fixed
During deserialization, when a required element is missing or an error
occurs, the generated code only logged via AXIS2_LOG_ERROR but did not
call AXIS2_ERROR_SET, making it impossible for calling code to detect
the failure via env->error.
Fix adds AXIS2_ERROR_SET before every return NULL in generated code:
- AXIS2_ERROR_INVALID_MESSAGE for serialization failures
- AXIS2_ERROR_NO_SUCH_ELEMENT for missing elements/attributes
- AXIS2_ERROR_NO_MEMORY for allocation failures
- Preserve env->error->error_number for cascading errors
Based on the patches from the JIRA issue:
- axis2_codegen_error_on_deserialize_failure.patch
- axis2_codegen_failure_before_return_null.patch
> No error is set during deserialization when an unexpected NULL value is
> return.
> -------------------------------------------------------------------------------
>
> Key: AXIS2C-1613
> URL: https://issues.apache.org/jira/browse/AXIS2C-1613
> Project: Axis2-C
> Issue Type: Bug
> Components: code generation
> Affects Versions: 1.6.0
> Environment: Debian Squeeze i386
> Reporter: Johan Abbors
> Priority: Major
> Labels: bug, patch
> Fix For: 2.0.0
>
> Attachments: axis2_codegen_error_on_deserialize_failure.patch,
> axis2_codegen_failure_before_return_null.patch
>
>
> During deserialization of a response, when for example an required element is
> missing, and thus a NULL value is returned, the generated code only log the
> incident but does not set an error value.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]