我有一个基于SOAP的端点,它接收XML消息,验证它并回复其他xml。对于xml处理,我使用JAXB。 我的端点看起来像:
@WebMethod
public SomeOutput processXML(SomeInput input){
...
}
如果XML有效,则实现正确。但是如果客户端发送另一个结构,我会得到一个例外。如何在自动反序列化之前接收原始XML并通过xsd模式验证它?
答案 0 :(得分:1)
在JAX-WS中,您可以使用处理程序来处理故障。在解组处理程序期间发生错误时,用户添加的错误可以在需要时处理错误。
http://docs.oracle.com/javaee/5/api/javax/xml/ws/handler/Handler.html
如果您希望将原始xml消息作为Web服务的输入而不是让JAX-WS为您处理(这可以为您提供更多控制,还可以提供更多工作),您可以执行他们在此网站上描述的内容: http://java.dzone.com/articles/implementing-jax-ws-web