private void TweetStatus(ESBMessage message) { try { string status = message.ToString(); var postBody = "status=" + Uri.EscapeDataString(status); RaiseAdapterInfo(ErrorLevel.Info, status); using (HMACSHA1 hasher = new HMACSHA1(ASCIIEncoding.ASCII.GetBytes(string.Format("{0}&{1}", Uri.EscapeDataString(APISecret), Uri.EscapeDataString(AccessTokenSecret))))) { string _oauthNonce = Convert.ToBase64String(new ASCIIEncoding().GetBytes(DateTime.Now.Ticks.ToString())); TimeSpan _timeSpan = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); string _oauthTimestamp = Convert.ToInt64(_timeSpan.TotalSeconds).ToString(); string baseString = string.Format("oauth_consumer_key={0}&oauth_nonce={1}&oauth_signature_method={2}&oauth_timestamp={3}&oauth_token={4}&oauth_version={5}&status={6}", APIKey, _oauthNonce, _OAuthSignatureMethod, _oauthTimestamp, AccessToken, _OAuthVersion, Uri.EscapeDataString(status)); string _oauthsignature = Convert.ToBase64String(hasher.ComputeHash(ASCIIEncoding.ASCII.GetBytes(string.Concat("POST&", Uri.EscapeDataString(RequestURI), "&", Uri.EscapeDataString(baseString))))); string _authenticationHeader = string.Format("OAuth oauth_consumer_key=\"{0}\", oauth_nonce=\"{1}\", oauth_signature=\"{2}\", oauth_signature_method=\"{3}\", oauth_timestamp=\"{4}\", oauth_token=\"{5}\", oauth_version=\"{6}\"", Uri.EscapeDataString(APIKey), Uri.EscapeDataString(_oauthNonce), Uri.EscapeDataString(_oauthsignature), Uri.EscapeDataString(_OAuthSignatureMethod), Uri.EscapeDataString(_oauthTimestamp), Uri.EscapeDataString(AccessToken), Uri.EscapeDataString(_OAuthVersion)); ServicePointManager.Expect100Continue = false; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(RequestURI); request.Headers.Add("Authorization", _authenticationHeader); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; using (Stream stream = request.GetRequestStream()) { byte[] content = ASCIIEncoding.ASCII.GetBytes(postBody); stream.Write(content, 0, content.Length); WebResponse response = request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { string result = reader.ReadToEnd(); } response.Close(); } } } catch (WebException ex) { WebResponse response = ex.Response; using (StreamReader reader = new StreamReader(response.GetResponseStream())) { string result = reader.ReadToEnd(); } response.Close(); RaiseAdapterError(ErrorLevel.Error, "Tweet Status Failed", ex); } catch (Exception ex) { RaiseAdapterError(ErrorLevel.Error, "Unknown Error", ex); } finally { } }