我使用Metro作为第三方Web服务引擎创建了Web服务,并将其部署在glassfish上。我使用premetive数据类型 int 作为参数。当我输入像String这样的无效值时,null会将其作为默认值(0)。有没有办法限制它?我想在SoapUI级别验证它并显示错误消息。
在Axis2中它会自动执行,但在Metro中它无法正常工作。这有什么额外的注释吗?或者以任何其他方式实现这一目标?
提前致谢。 : - )
答案 0 :(得分:0)
你的问题有两个方面。
一方面,您希望在SoaUI级别验证您的请求。默认情况下,它们未经过验证,并按原样发送到服务器。要启用验证,请在SoapUI首选项(选项卡编辑器设置)中选中两个框:
在这种情况下,SoapUI会生成错误消息,并在XML行上放置错误。
另一方面,您需要在Web服务方面验证传入的请求是否正确。从 com.sun.xml.ws.developer.SchemaValidation 添加 @SchemaValidation 注释,为您的服务启用此功能。 Metro为未通过XML Schema验证的请求生成SOAP错误消息响应。