/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;
import javax.xml.namespace.NamespaceContext;
import javax.xml.parsers.*;
import javax.xml.*;
import org.w3c.dom.*;
import javax.xml.xpath.*;
import org.xml.sax.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		// javax.xml.parsers.*
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true); 
        DocumentBuilder builder = factory.newDocumentBuilder();
        String xml = "<soap:Envelope xmlns:soap=\"http://w...content-available-to-author-only...3.org/2003/05/soap-envelope\">" + 
                     "<soap:Header>" + 
                     "<context xmlns=\"urn:zimbra\"><session id=\"555\">555</session><change token=\"333\"/></context>" +
                     "</soap:Header>" +
                     "</soap:Envelope>";

        InputSource is = new InputSource(new StringReader(xml));
        Document doc = builder.parse(is);
        
        XPathFactory xPathfactory = XPathFactory.newInstance();
        XPath xpath = xPathfactory.newXPath();
        xpath.setNamespaceContext(new NamespaceContext() {
            @Override
            public String getNamespaceURI(String prefix) {
                if (prefix.equals("soap")) {
                    return "http://w...content-available-to-author-only...3.org/2003/05/soap-envelope";
                }
                if (prefix.equals("zmb")) {
                    return "urn:zimbra";
                }

                return XMLConstants.NULL_NS_URI;
            }

            @Override
            public String getPrefix(String namespaceURI) {
                throw new UnsupportedOperationException("Not supported yet.");
            }
  
            @Override
            public Iterator getPrefixes(String namespaceURI) {
                throw new UnsupportedOperationException("Not supported yet.");
            }
        });

        XPathExpression expr = 
               xpath.compile("/soap:Envelope/soap:Header/zmb:context/zmb:session");
        String sessionId = (String)expr.evaluate(doc, XPathConstants.STRING);
        System.out.println(sessionId);
	}
}