如何在SoapHandler中使用xpath解析Soap Header

时间:2011-05-13 04:44:17

标签: java soap xpath

我开发了一个soap处理程序,它拦截入站消息并从SoapHeader中检索值。

我使用以下代码来阅读soapheader

SOAPMessage soapMessage=  context.getMessage();
SOAPPart soapPart = soapMessage.getSOAPPart();
SOAPEnvelope soapEnvelope = soapPart.getEnvelope();
SOAPHeader soapHeader = soapEnvelope.getHeader(); 

现在我如何从SOAPHeader对象创建Document,以便我可以在xPathExpression.evaluate中使用它

来自Document我的意思是org.w3c.dom.Document。

我得到了答案

我们可以通过以下代码

创建文档
ByteArrayOutputStream out = new ByteArrayOutputStream(); 

soapMessage.writeTo(out); 

InputStream is = new ByteArrayInputStream( out.toByteArray() ); 
doc = docBuilder.parse( is );

此致 姆兰

1 个答案:

答案 0 :(得分:0)

我们可以直接在soapheader上应用解析,如下所示

NodeList nodes = soapHeader.getElementsByTagName(“param”);

不需要xpath。

此致