JAX-WS @webMethod手动反序列化

时间:2015-05-19 18:49:51

标签: java xml web-services jaxb jax-ws

我有一个基于SOAP的端点,它接收XML消息,验证它并回复其他xml。对于xml处理,我使用JAXB。 我的端点看起来像:

@WebMethod
public SomeOutput processXML(SomeInput input){
    ...
}

如果XML有效,则实现正确。但是如果客户端发送另一个结构,我会得到一个例外。如何在自动反序列化之前接收原始XML并通过xsd模式验证它?

1 个答案:

答案 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