You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Aki Yoshida (JIRA)" <ji...@apache.org> on 2012/10/24 23:54:12 UTC
[jira] [Commented] (CXF-4600) Exception inheritance not working
over SOAP protocol
[ https://issues.apache.org/jira/browse/CXF-4600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483630#comment-13483630 ]
Aki Yoshida commented on CXF-4600:
----------------------------------
i think you can transfer the values if you annotate the exception class.
e.g.
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"message",
"description",
"code"
})
@XmlRootElement(name = "faultDetail")
public class AbstractException extends Exception {
...
with your original non-annotated class, your serialized fault looks like this:
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>exception message</faultstring>
<detail>
<ns1:AbstractException xmlns:ns1="http://issue.cxf/"/>
</detail>
</soap:Fault>
so there are no attribute values transferred.
with the above annotated exception, your serialized fault looks like this:
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>exception message</faultstring>
<detail>
<ns1:AbstractException xmlns:ns1="http://issue.cxf/">
<message xmlns:ns2="http://issue.cxf/">exception message</message>
<description xmlns:ns2="http://issue.cxf/">exception description</description>
<code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://issue.cxf/" xsi:type="xs:int">500</code>
</ns1:AbstractException>
</detail>
</soap:Fault>
and the attribute values are transferred to the client.
does this solve your problem?
regards, aki
> Exception inheritance not working over SOAP protocol
> ----------------------------------------------------
>
> Key: CXF-4600
> URL: https://issues.apache.org/jira/browse/CXF-4600
> Project: CXF
> Issue Type: Bug
> Components: JAXB Databinding
> Affects Versions: 2.4.10, 2.5.6, 2.6.3, 2.7.0
> Reporter: Richard Opalka
> Fix For: 2.4.11, 2.5.7, 2.6.4, 2.7.1
>
> Attachments: CXF-4600-reproducer.zip
>
>
> If method parameter or return type are subject to object inheritance,
> passing such complex classes works without any problems over SOAP.
> But when exception is subject to object inheritance, the inheritance
> is unfunctional over SOAP protocol.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira