JBoss WS CXF misses Subcode in SOAP 1.2 SOAPFault
Issue
-
We are trying to throw a SOAP 1.2 Fault with
Subcodelike the following on EAP 6 with JBoss WS CXF stack:<S:Body> <S:Fault xmlns:ns4="http://schemas.xmlsoap.org/soap/envelope/"> <S:Code> <S:Value>S:Sender</S:Value> <S:Subcode> <S:Value xmlns:ns1="...">ns1:OperatorNotFound</S:Value> </S:Subcode> </S:Code> <S:Reason> <S:Text xml:lang="en">Operator not found</S:Text> </S:Reason> <S:Detail> ... </S:Detail> </S:Fault> </S:Body>However, we couldn't succeed when throwing a custom checked exception like below:
@WebFault(name = "...", targetNamespace = "...") public class CustomException extends Exception { private CustomFaultInfo faultInfo; public CustomException(String message, CustomFaultInfo faultInfo) { super(message); this.faultInfo = faultInfo; } public CustomException(String message, CustomFaultInfo faultInfo, Throwable cause) { super(message, cause); this.faultInfo = faultInfo; } public CustomFaultInfo getFaultInfo() { return faultInfo; } } @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "...", propOrder = {"code", "subCode" }) public class CustomFaultInfo { @XmlElement(name = "Code", required = true) protected QName code; @XmlElement(name = "SubCode") protected List<QName> subCode; public QName getCode() { return code; } public void setCode(QName value) { this.code = value; } public List<QName> getSubCode() { if (subCode == null) { subCode = new ArrayList<QName>(); } return this.subCode; } }How can I achieve that? Or, is that a bug?
- I'm trying to include both a SOAP fault detail (using the JAX-WS
getFaultInfo()convention) and a subcode in my SOAP fault, but I can't seem to get it to work.
Environment
- JBoss Enterprise Application Platform (EAP)
- 5.x + JBoss WS CXF
- 6.0.x
- JBoss Enterprise SOA Platform (SOA-P)
- 5.x + JBoss WS CXF
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
