soapUI不会捕获验证错误

时间:2014-11-13 10:07:05

标签: regex wsdl soapui xml-validation

我有一个带基本字符串的限制类型:

 <simpleType name="stringto1">
    <restriction base="string">
       <pattern value="[АБВГ2134-]"/>
    </restriction>
 </simpleType>

此类型的字段:

<element maxOccurs="4" minOccurs="1" name="P5" type="tns:stringto1"/>

但我可以在这个领域写出我想要的一切,验证还可以! 并且服务器上存在验证错误。 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

-中的特殊字符regex用于指定range,如[a-z]。如果您想将-用作简单字符,则必须使用\作为\-将其转义,因此请尝试将regex作为pattern

 <simpleType name="stringto1">
    <restriction base="string">
       <pattern value="[АБВГ2134\-]"/>
    </restriction>
 </simpleType>

另外SOAPUI没有验证您的xml,因为没有编译您的pattern,您可以在SOAPUI日志中看到此信息,其中以下错误消息是显示:

15:57:51,883 WARN [SchemaUtils] Error: ...\wsdl.wsdl: 0: warning: pattern-regex: The regular expression '[????2134-]' is malformed: '-' is an invalid character range. Write '\-'.

请注意????因为我的字符集编码无法识别АБВГ个字符,所以我建议将-作为\-转义为{{1}}就够了。

希望这有帮助,