2013-03-05 101 views
2

我需要讀取SOAP標題。 下面是XML正在發送:Java ws Jboss 7肥皂標題

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

我需要閱讀的NS2中:頭包含SESSION_ID等等

+0

另請參閱有關[SOAPHeader](http://www.j2ee.me/j2ee/1.4/docs/api/javax/xml/soap/SOAPHeader.html)API – chiru 2013-03-06 10:21:11

+0

您是否知道上下文的類型目的?它是javax.xml.ws.WebServiceContext嗎?接受的答案是否適合你? – 2013-09-24 00:13:10

回答

0

你可以閱讀使用下面的代碼

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

我們可以直接在soapheader上應用解析如下

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

另請參閱API – chiru 2013-03-06 10:20:21

+0

上下文對象的類型是什麼?它是否是'javax.xml.ws.WebServiceContext'? – 2013-09-23 23:24:47