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