private Object handleInvocation ( ManagedBeanInvocation mbeanInvocation ) { Message response = endpointAdapter . handleMessage ( endpointConfiguration . getMessageConverter ( ) . convertInbound ( mbeanInvocation , endpointConfiguration , null ) ) ; ManagedBeanResult serviceResult = null ; if ( response != null && response . getPayload ( ) != null ) { if ( response . getPayload ( ) instanceof ManagedBeanResult ) { serviceResult = ( ManagedBeanResult ) response . getPayload ( ) ; } else if ( response . getPayload ( ) instanceof String ) { serviceResult = ( ManagedBeanResult ) endpointConfiguration . getMarshaller ( ) . unmarshal ( response . getPayload ( Source . class ) ) ; } } if ( serviceResult != null ) { return serviceResult . getResultObject ( endpointConfiguration . getApplicationContext ( ) ) ; } else { return null ; } }
Handle managed bean invocation by delegating to endpoint adapter . Response is converted to proper method return result .