@Test
public void doProcessing() throws Exception {

    // Creating SOAP envelope
    SOAPFactory omFactory = OMAbstractFactory.getSOAP12Factory();
 final org.apache.axiom.soap.SOAPEnvelope envelope = omFactory.getDefaultEnvelope();
 // Declare all namespaces that are needed by default
 envelope.declareNamespace("http://www.w3.org/1999/XMLSchema-instance/", "xsi");
 envelope.declareNamespace("http://www.w3.org/1999/XMLSchema", "xsd");
	// Add some headers
    envelope.getHeader().addHeaderBlock(new QName("AFirstHeader", "http://dev.test.holodeck-b2b.org/not_for_real"));
    envelope.getHeader().addHeaderBlock(new QName("AnotherHeader", "http://dev.test.holodeck-b2b.org/not_for_real"));
    envelope.getHeader().addHeaderBlock(new QName("AndALastOne", "http://dev.test.holodeck-b2b.org/not_for_real"));
    
    MessageContext mc = new MessageContext();
    try {
        mc.setEnvelope(envelope);
    } catch (AxisFault axisFault) {
        fail(axisFault.getMessage());
    }
    
    SOAPHeaderBlock h = null;
    for(Iterator hdrs = envelope.getHeader().getChildElements(); hdrs.hasNext(); ) {
    	h = (SOAPHeaderBlock) hdrs.next();        
    	assertFalse(h.isProcessed());
    }
    try {
        Handler.InvocationResponse invokeResp = new ReportHeaderProcessed().invoke(mc);
        assertEquals(Handler.InvocationResponse.CONTINUE, invokeResp);
    } catch (Exception e) {
        fail(e.getMessage());
    }
    for(Iterator hdrs = envelope.getHeader().getChildElements(); hdrs.hasNext(); ) {
    	h = (SOAPHeaderBlock) hdrs.next();        
    	assertTrue(h.isProcessed());
    }
}