如何创建REST Web服务以在C#中处理Docusign Connect服务?

时间:2018-02-28 00:01:42

标签: c# rest docusignapi

我想使用Docusign Connect服务,如https://www.docusign.com/supportdocs/pdf/connect-guide.pdf

中所述

我使用Windows Communication Foundation创建了一个REST服务,以接受来自服务的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;
        }
}

我设置了一个调用第一个方法的测试项目。我在“连接指南”(Sample Connect Message下的XML)末尾保存了XML。我的测试方法获取文件并对其进行POST。最后一个方法mgr.ProcessConnectMessage(xmlMessage)是我编写的解析XML的东西。我的测试工作正常。我还创建了一个GET方法来确保服务正常运行。 GET工作正常(我正在使用ngrok进行测试,因此我可以通过映射localhost:我的项目的端口在Internet上调用我的REST方法)。

正如在第二种方法的评论中所指出的那样,我在第二种方法的代码基于我在Github上发现的方法来创建一个Docusign Connect应该使用的方法。

我已在Docusign测试帐户上配置了Connect以使用这些方法。我创造了信封并打开了它们。 Connect将调用我的方法,如NGROK的输出所示。

但是当调用任一方法时,我收到400 Bad Request错误。

我不知道我应该怎样做才能让Connect与我的方法进行沟通。

1 个答案:

答案 0 :(得分:0)

请参阅我的最终评论。所以,我需要至少30个字符才能发布此内容。