}
responseImpl.setResponseContext(new ResponseContext(response));
responseImpl.set(toReturnValue(response), null);
} catch (JAXBException e) {
//TODO: i18nify
responseImpl.set(null, new DeserializationException(DispatchMessages.INVALID_RESPONSE_DESERIALIZATION(),e));
} catch(WebServiceException e){
//it could be a WebServiceException or a ProtocolException
responseImpl.set(null, e);
} catch(Throwable e){
// It could be any RuntimeException resulting due to some internal bug.