How can I parse Soap envelope to get values in SOAP header?

I have incoming SOAP request header with me. I want to parse it so as to
read the values in header.
The envelope i have is :
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/
xmlns:xsd=“http://www.w3.org/2001/XMLSchema
xmlns:xsi=“http://www.w3.org/2001/XML
Schema-instance”>
SOAP-ENV:Header
<ns0:app_id xmlns:ns0=“urn:fadfdf-systems:ws:http-param”>

    <ns0:value>35</ns0:value>
  </ns0:app_id>
  <ns0:concept_id xmlns:ns0="urn:blahblahsystems:ws:http-param">

    <ns0:value>20</ns0:value>
  </ns0:concept_id>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
  <tns:list

xmlns:tns=“http://blahblahblah.com/”/>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Here, i want to read values of app_id and concept_id by parsing the
envelope.
I want those values to be used by my wenservice method.
How can I parse the SOAP envelope?