public virtual Message Poll(Message request) { try { var pollRequest = PollRequest.Parse(XElement.Parse(request.GetReaderAtBodyContents().ReadOuterXml())); var results = _queryPerformer.ExecutePollQuery(pollRequest.Name, pollRequest.Parameters); var formattedResponse = _responseFormatter.FormatPollResponse(pollRequest.Name, results); return(MessageResponse.CreatePollResponse(formattedResponse.Root)); } catch (EpcisException ex) { throw EpcisFault.Create(ex); } }