@Test
public void invokeSupported() throws Exception {

	MockWebServiceMessage request = new MockWebServiceMessage("<root xmlns='http://springframework.org'/>");
	MessageContext messageContext = new DefaultMessageContext(request, new MockWebServiceMessageFactory());
	String value = "Foo";
	// arg 0
	expect(argumentResolver1.supportsParameter(isA(MethodParameter.class))).andReturn(true);
	expect(argumentResolver1.resolveArgument(eq(messageContext), isA(MethodParameter.class))).andReturn(value);
	// arg 1
	expect(argumentResolver1.supportsParameter(isA(MethodParameter.class))).andReturn(false);
	expect(argumentResolver2.supportsParameter(isA(MethodParameter.class))).andReturn(true);
	expect(argumentResolver2.resolveArgument(eq(messageContext), isA(MethodParameter.class)))
			.andReturn(new Integer(42));
	expect(returnValueHandler.supportsReturnType(isA(MethodParameter.class))).andReturn(true);
	returnValueHandler.handleReturnValue(eq(messageContext), isA(MethodParameter.class), eq(value));
	replay(argumentResolver1, argumentResolver2, returnValueHandler);
	adapter.invoke(messageContext, supportedEndpoint);
	assertEquals("Invalid argument passed", value, supportedArgument);
	verify(argumentResolver1, argumentResolver2, returnValueHandler);
}