Опрос Обезьяны вебхук с WCF - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь получить результат опроса в моем приложении WCF. Я создал webhook и вижу, что запрос HEAD немедленно отправляется. Однако, когда я заполняю опрос, я не получаю запрос POST. Я связался с их поддержкой, и они сказали, что не могут мне помочь с WCF. Если это невозможно с WCF, может кто-нибудь дать мне пример того, как это сделать другим способом. NET? Вот заголовок (игнорируйте опечатки)

[OperationContract]
[WebInvoke(UriTemplate = "/PostSurveryMonkeyResult", Method = System.Net.WebRequestMethods.Http.Post, BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
void PostSurveryMonkeyResult(SurveyMonkeyObject result);
[OperationContract]
[WebInvoke(UriTemplate = "/PostSurveryMonkeyResult", Method = System.Net.WebRequestMethods.Http.Head, BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
void PostSurveryMonkeyResult_Head();

Вот модель

public class SurveyMonkeyObject
    {
        public string name { get; set; }
        public string filter_type { get; set; }
        public string filter_id { get; set; }
        public string event_type { get; set; }
        public string event_id { get; set; }
        public string object_type { get; set; }
        public string object_id { get; set; }
        public string event_datetime { get; set; }
        public Resources resources { get; set; }
        public class Resources
        {
            public string respondent_id { get; set; }
            public string recipient_id { get; set; }
            public string collector_id { get; set; }
            public string survey_id { get; set; }
            public string user_id { get; set; }
        }
    }

Вот код

    public void PostSurveryMonkeyResult(SurveyMonkeyObject result)
    {
        Logger.Info("PostSurveryMonkeyResult()");
        try
        {
            var resultString = JsonConvert.SerializeObject(result);
            Logger.Info("PostSurveryMonkeyResult is: " + resultString);
        }
        catch (Exception ex)
        {
            Logger.Error("SurveryMonkey Result: " + ex);
        }
    }

    public void PostSurveryMonkeyResult_Head()
    {
        Logger.Info("PostSurveryMonkeyResult_Head()");
    }
...