【问题标题】:Java ws Jboss 7 soap headerJava ws Jboss 7 肥皂头
【发布时间】:2013-03-05 08:13:17
【问题描述】:

我需要阅读 SOAP 标头。 以下是正在发送的 xml:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://services.com/" xmlns:ns2="http://tech.com/">
<SOAP-ENV:Header>
    <ns2:header id="ref1">
        <session_id>63949bc1878725afd28cc8283ec3252a</session_id>
        <ip_address>127.0.0.1</ip_address>
        <user_agent>Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0</user_agent>
        <last_activity>1362395880</last_activity>
        <user_data></user_data>
        <username>serge</username>
        <logged_in>true</logged_in>
    </ns2:header>
    <ns2:header href="#ref1"/>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
    <ns1:getInvo>
        <id>1</id>
    </ns1:getInvo>
</SOAP-ENV:Body>

我需要阅读包含 session_id 等的 ns2:header 内部...

【问题讨论】:

  • 另请参阅SOAPHeader API
  • 你知道上下文对象的类型是什么吗?是 javax.xml.ws.WebServiceContext 吗?接受的答案对您有用吗?

标签: java xml soap jboss


【解决方案1】:

您可以使用以下代码阅读

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

我们可以像下面这样直接在soapheader上应用解析

NodeList nodes =soapHeader.getElementsByTagName("param");

【讨论】:

  • 上下文对象的类型是什么?是javax.xml.ws.WebServiceContext吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-23
相关资源
最近更新 更多