[
http://jira.codehaus.org/browse/XFIRE-990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_95984
]
Reshat Sabiq commented on XFIRE-990:
------------------------------------
Actually, even the work-around requires patching up a class to avoid outputting
element name, because it is handled by custom type. So i'm looking into making
a patch.
P.S. This is what xfire outputs now w/ work-around:
<fault>
<soap:Fault>
...
</soap:Fault>
</fault>
This should become just:
<soap:Fault>
...
</soap:Fault>
> XFireFault is not serialized correctly when it is a descendant of a child
> element of SOAP Body
> ----------------------------------------------------------------------------------------------
>
> Key: XFIRE-990
> URL: http://jira.codehaus.org/browse/XFIRE-990
> Project: XFire
> Issue Type: Bug
> Environment: 1.2.5
> Reporter: Reshat Sabiq
> Assignee: Dan Diephouse
>
> SOAP 1.2 says: "A SOAP Fault element information item MAY appear within a
> SOAP header block, or as a descendant of a child element information item of
> the SOAP Body ; in such cases, the element has no SOAP-defined semantics."
> Given that the spec allows it, i think xfire should handle.
> Given that we have regular faults, and we don't completely stop processing
> after an exception pertaining to an individual subrequest, i'm trying to
> indicate the status of an individual subrequest using a soap:Fault as well.
> However, when representing that fault w/ XFireFault, it is not serialized as
> a soap:Fault, e.g. shown below. It is instead serialized like a regular java
> object.
> One thought i have is to represent this as a String field, and serialize it
> manually into soap:Fault, so that client can peruse individual status codes
> similarly to complete failures indicated by soap:Fault (this would involve
> JAXB and such outside of xfire, because we are not using java 5, and can't do
> schema-to-java). Another way could involve a handler, and replacing content
> in OutMessage. But first is not declarative, and 2nd would be a potential
> performance drag. I think this should be handled by the framework itself.
> P.S. This is what i was hoping for as a field of a subrequest:
> <soap:Fault>
> <soap:Code>
> <soap:Value>soap:Sender</soap:Value>
> <soap:SubCode>
> <soap:Value
> xmlns:error="urn:some.urn">error:SomeError</soap:Value>
> </soap:SubCode>
> </soap:Code>
> <soap:Reason>
> <soap:Text>Some Error</soap:Text>
> </soap:Reason>
> <soap:Detail>
> <error:detail code="1001"
> xmlns:error="urn:some.urn">someField</error:detail>
> </soap:Detail>
> </soap:Fault>
> P.P.S. This is what is serialized by xfire as of now:
> <fault>
> <detail xmlns="http://fault.xfire.codehaus.org">
> <soap:Detail>
> <error:detail code="1001"
> xmlns:error="urn:some.urn"/>
> </soap:Detail>
> </detail>
> <faultCode xmlns="http://fault.xfire.codehaus.org">
> <localPart
> xmlns="http://namespace.xml.javax">Sender</localPart>
> <namespaceURI
> xmlns="http://namespace.xml.javax">http://www.w3.org/2003/05/soap-envelope</namespaceURI>
> <prefix xmlns="http://namespace.xml.javax"/>
> </faultCode>
> <message xmlns="http://fault.xfire.codehaus.org">Some
> Error</message>
> <namespaces xmlns="http://fault.xfire.codehaus.org"/>
> <reason xmlns="http://fault.xfire.codehaus.org">Some
> Error</reason>
> <role xsi:nil="true"
> xmlns="http://fault.xfire.codehaus.org"/>
> <subCode xmlns="http://fault.xfire.codehaus.org">
> <localPart
> xmlns="http://namespace.xml.javax">SomeError</localPart>
> <namespaceURI
> xmlns="http://namespace.xml.javax">urn:some.urn</namespaceURI>
> <prefix
> xmlns="http://namespace.xml.javax">error</prefix>
> </subCode>
> </fault>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email