问题是在使用Spring WS时遇到的,SpringWS中soapMessage.getPayloadSource()和soapMessage.getPayloadResult()两个方法返回的分别是(javax.xml.transform)Source和Result这两个接口类,眼睛看着这两个类,却不知道怎样得到里面封装的xml message,浪费了很多时间,最终查看API,找到了如何解决方式。进行强制转换为DOMSource方式,这种转换方法也不知道会不会有问题(对于那种实现类并非DOMSource的),但是在我的程序代码中没有这种问题。
DOMSource source = (DOMSource) source;
如果有人知道更好的解析方式,请告知!
我是在使用SpringWS中遇到这种问题的,使用的是AnnotationRootPayloadEndPoint时,需要对request中 SoapHeader中的字段进行校验,所以使用Interceptor进行Request的处理,在 AnnotationRootPayloadEndPoint中只能得到PayloadBody,不能得到SoapHeader相关信息。有更好的方法使用AnnotationRootPayloadEndPoint的方式得到SoapHeader信息的方法吗?