Class<?> returnType = getActualType(method.getGenericReturnType(), method.getReturnType(), typeBindings);
Class<?>[] parameterTypes = getActualTypes(method.getGenericParameterTypes(), method.getParameterTypes(), typeBindings);
Class<?>[] faultTypes = getActualTypes(method.getGenericExceptionTypes(), method.getExceptionTypes(), typeBindings);
boolean nonBlocking = method.isAnnotationPresent(OneWay.class);
ConversationSequence conversationSequence = ConversationSequence.CONVERSATION_NONE;
if (method.isAnnotationPresent(EndsConversation.class)) {
if (!conversational) {
throw new InvalidOperationException(
"Method is marked as end conversation but contract is not conversational",
method);