This is a gap in functionality required by the jaxws spec. Excerpt from JAX-WS Spec, Section 2.7, p.42: > Additionally, the @XmlType annotation has a propOrder property whose value is > an array containing the names of all the properties of the exception class > that were mapped in the previous bullet point, sorted lexicographically > according to the Unicode value of each of their characters (i.e. using the > same algorithm that the int java.lang.String.compareTo(String) method uses).
Just for clarification, the JAX-WS excerpt above is pulled from version 2.1, but it is unchanged in 2.2 except it's located on page 46.
I'm using the same application I used in https://issues.jboss.org/browse/JBPAPP-10835 for EAP 5. WSDL is OK, but message from server is NOT ordered correctly. The same problem was during patch development for JBPAPP-10835, maybe the final fix wasn't propagated to CXF 2.7.x branch ... WSDL snippet: <xs:complexType name="WSInstructionCreationException"> <xs:sequence> <xs:element name="aValue" nillable="true" type="xs:string"/> <xs:element name="detail" nillable="true" type="xs:string"/> <xs:element name="info1" nillable="true" type="xs:string"/> <xs:element name="info2" nillable="true" type="xs:string"/> <xs:element name="instruction" nillable="true" type="xs:string"/> <xs:element name="intVal" nillable="true" type="xs:int"/> <xs:element name="message" nillable="true" type="xs:string"/> <xs:element name="messageKey" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> SOAP message snippet: <ns1:WSInstructionCreationException xmlns:ns1="http://ws.arte.lodh.com/cxf"> <detail xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ws.arte.lodh.com/cxf"/> <message xmlns="http://ws.arte.lodh.com/cxf">Error message</message> <instruction xmlns="http://ws.arte.lodh.com/cxf">instr</instruction> <info1 xmlns="http://ws.arte.lodh.com/cxf">myInfo1</info1> <info2 xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ws.arte.lodh.com/cxf"/> <messageKey xmlns="http://ws.arte.lodh.com/cxf">msg key</messageKey> <aValue xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ws.arte.lodh.com/cxf"/> <intVal xsi:type="xs:int" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://ws.arte.lodh.com/cxf">0</intVal> </ns1:WSInstructionCreationException>
Jim, please have a look at Rostislav comment.
The change to fix this issue happens after cxf 2.7.6 release, so EAP 6.2 ER3 doesn't include this change. Due to several tck failures in cxf 2.7.7 release, it is delayed a couple of days and it didn't catch the EAP 6.2 ER3 release.We'll look at if we can upgrade cxf 2.7.7 in the next EAP 6.2 ER release.
Has this fix been picked up for the latest EAP 6 candidate? Need info for Release Note purposes. If this has not made it into the product, is it required to be noted as a Known Issue? Also, what was the actual problem? Was it just that the properties where not sorted as per the spec (as possibly indicated in comment 4?
CXF 2.7.7 has been picked up in ER7, so this issue is resolved. For more details about the issue please look at https://issues.apache.org/jira/browse/CXF-5163
`Requires doc text` field cleared as it is too late to include an entry for this ticket in the JBoss EAP 6.2.0 Release Notes.
Verified on EAP 6.3.0 ER8 Both WSDL and SOAP message are fine now.