Как создать веб-службу REST для обработки службы Docusign Connect на C #?

Awerber спросил: 03 февраля 2018 в 10:21 в: c#

Я хочу использовать службу Docusign Connect, как описано в https://www.docusign.com/supportdocs/pdf/connect-guide.pdf.

Я создал службу REST с помощью Windows Communication Foundation для приема сообщений POST из службы. Код в классе интерфейса для двух разных методов:

    [OperationContract]
    [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Xml, RequestFormat = WebMessageFormat.Xml,
        BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "ProcessConnectMessageStream")]
    string ProcessConnectMessageStream(Stream XMLMessage);    [OperationContract]
    [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Xml, RequestFormat = WebMessageFormat.Xml,
       BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "ProcessConnectMessageRequest")]
    void ProcessConnectMessageRequest(HttpRequestMessage request);

Код для методов:

    public string ProcessConnectMessageStream(Stream XMLMessage)
    {
        StreamReader sr = new StreamReader(XMLMessage);
        string xmlMessage = sr.ReadToEnd();
        Manager mgr = new Manager();
        return mgr.ProcessConnectMessage(xmlMessage);
    }

и

public void ProcessConnectMessageRequest(HttpRequestMessage request)
{
        try
        {
            // almost all code from https://github.com/docusign/recipe-010-webhook-csharp
            XmlDocument xmldoc = new XmlDocument();        }
        catch (Exception ex)
        {
            string msg = ex.GetBaseException().Message;
        }
}

Я установил тестовый проект, который вызывает первый метод. Я сохранил XML в конце руководства Connect (XML в разделе Sample Connect Message). Мой метод тестирования получает файл и POST-файлы. Окончательный метод mgr.ProcessConnectMessage (xmlMessage) - это то, что я написал для анализа XML. Мой тест отлично работает. Я также создал метод GET, чтобы убедиться, что служба работает. GET отлично работает (я использую ngrok для тестирования, поэтому я могу вызвать методы REST через Интернет, сопоставляя localhost: порт моего проекта).

Как отмечено в комментарии во втором методе, я основанный на моем коде для второго метода на том, что я нашел в Github, чтобы создать метод, с которым должен работать Docusign Connect.

Я настроил Connect на моей тестовой учетной записи Docusign для работы с этими методами. Я создал конверты и открыл их. Connect вызовет мои методы, как показано на выходе из NGROK.

Но когда вызывается любой из методов, я получаю ошибку 400 Bad Request.

Я не знаю, что еще Я должен сделать, чтобы Connect соединился с моими методами.

0 ответов