as.addOperation(operation1);
as.addOperation(operation2);
messageContext.setSoapAction("operation2");
SOAPActionBasedDispatcher soapActionDispatcher = new SOAPActionBasedDispatcher();
soapActionDispatcher.invoke(messageContext);
// Verify that we can't route on the SOAPAction because it has been specified > 1 time
assertNull(messageContext.getAxisOperation());
// Now verify that a SOAPAction that happens to map to an operation name can still be routed
messageContext = new MessageContext();
messageContext.setAxisService(as);
messageContext.setSoapAction("operation1");
soapActionDispatcher = new SOAPActionBasedDispatcher();
soapActionDispatcher.invoke(messageContext);
assertEquals(operation1, messageContext.getAxisOperation());
}