SoapUI中的数据类型验证

时间:2012-04-18 08:33:03

标签: web-services soapui java-metro-framework

我使用Metro作为第三方Web服务引擎创建了Web服务,并将其部署在glassfish上。我使用premetive数据类型 int 作为参数。当我输入像String这样的无效值时,null会将其作为默认值(0)。有没有办法限制它?我想在SoapUI级别验证它并显示错误消息。

在Axis2中它会自动执行,但在Metro中它无法正常工作。这有什么额外的注释吗?或者以任何其他方式实现这一目标?

提前致谢。 : - )

1 个答案:

答案 0 :(得分:0)

你的问题有两个方面。

一方面,您希望在SoaUI级别验证您的请求。默认情况下,它们未经过验证,并按原样发送到服务器。要启用验证,请在SoapUI首选项(选项卡编辑器设置)中选中两个框:

  • 始终在发送请求消息之前验证
  • 中止无效请求

在这种情况下,SoapUI会生成错误消息,并在XML行上放置错误。

另一方面,您需要在Web服务方面验证传入的请求是否正确。从 com.sun.xml.ws.developer.SchemaValidation 添加 @SchemaValidation 注释,为您的服务启用此功能。 Metro为未通过XML Schema验证的请求生成SOAP错误消息响应。