使用JAXB进行JAX-WS请求验证

Pra*_*adB 6 java validation web-services jax-ws jaxb

在JAX-WS中,要验证传入请求,其中一种方法是使用@SchemaValidation,如下面的链接所示.

JAX-WS和XSD验证

但是,我使用的应用程序服务器(WAS 7)尚不支持@SchemaValidation.(如果WAS 7确实支持此注释,请更正我)

所以我正在寻找其他选项,比如实现一个处理程序来验证传入的请求.无论是在处理程序还是端点类本身,我都可以创建JAXBContext并使用JAXB验证器.我是否需要显式创建JAXBContext,或者它是否可用作资源/注释,因为JAX-WS内部使用JAXB?这是在JAX-WS中实现验证的好方法吗?(在没有@SchemaValidation验证的情况下)

在Web服务中验证传入请求xml是否是一种标准做法,或者由于可能需要的性能影响,它是否被跳过?

San*_*osh 2

验证传入请求 xml 是一种很好的做法,就像每个 MVC 系统的情况一样。(MVC 可能不适合这里,但原则上,它是相同的,只是视图是 XML)。如果不支持提到的注释 ( @SchemaValidation),那么一种解决方法是使用处理程序,该处理程序将使用JAXB Validation来验证传入请求。

  • 谢谢桑托什。我已经实现了处理程序来验证传入的请求。以下链接非常有用[链接](http://java.dzone.com/articles/jax-ws-payload-validation-and)。 (2认同)