Как я использую ограничение в моем определении WSDL, как:Ловля неисправность с помощью Axis2 с ограничением в WSDL
<simpleType name="id">
<annotation>
<documentation>Identifiant</documentation>
</annotation>
<restriction base="string">
<pattern value="[0-9]{16}"/>
</restriction>
</simpleType>
wsdl2java генерации:
public class IunType implements org.apache.axis2.databinding.ADBBean {
public void setId(java.lang.String param) {
if (org.apache.axis2.databinding.utils.ConverterUtil.convertToString(param).matches("[0-9]{16}")) {
this.localId = param;
} else {
throw new java.lang.RuntimeException();
}
}
}
И я не нашел способ поймать это исключение в мои бизнес-классы, если в моем запросе «id» есть «999999», например.
Цель состоит в том, чтобы вернуть ответ, а не неисправность. Является ли это возможным ?
Дополнительная информация:
- Custom faultcode using Axis2 не решает полностью проблему.
- Я сделал Github project для тестирования различных решений.