Test suite regression with the following error deploying the datasource for the test.
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.AbstractStringBuilder.charAt(AbstractStringBuilder.java:174)
at java.lang.StringBuilder.charAt(StringBuilder.java:55)
at com.sun.xml.bind.DatatypeConverterImpl._parseBoolean(DatatypeConverterImpl.java:229)
at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$14.parse(RuntimeBuiltinLeafInfoImpl.java:640)
at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$14.parse(RuntimeBuiltinLeafInfoImpl.java:643)
at com.sun.xml.bind.v2.runtime.unmarshaller.TextLoader.text(TextLoader.java:65)
JBPAPP-2121 was a change to JAXB to reject messages that failed parsing due to invalid fields, the regression has been caused as the -ds.xml deployer is dependent on this silent dropping or errors.
The following type is used in the affected -ds.xml: -
<!--
whether to set the query timeout based on the time remaining until transaction timeout,
any configured query timeout will be used if there is no transaction.
The default is false.
e.g.
<set-tx-query-timeout/>
-->
<xsd:complexType name="set-tx-query-timeoutType">
<xsd:simpleContent>
<xsd:restriction base="javaee:true-falseType"/>
</xsd:simpleContent>
</xsd:complexType>
The true-falseType is defined as: -
<xsd:complexType name="true-falseType">
<xsd:annotation>
<xsd:documentation>
This simple type designates a boolean with only two
permissible values
- true
- false
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="javaee:xsdBooleanType">
<xsd:pattern value="(true|false)"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
The JAXB parsing is failing as the element is present but not set to either value: -
<set-tx-query-timeout/>
Deployments are likely to be in place with this style of configuration so rather than updating the -ds.xml to avoid the parsing error the deployer will be relaxed to the previous level of validation for the descriptors.
- is related to
-
JBPAPP-3389 JBossWS / JAXB - Mixed up namespace prefixes when marshalling response with Element containing attributes
- Closed