我想使用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与我的方法进行沟通。
答案 0 :(得分:0)
请参阅我的最终评论。所以,我需要至少30个字符才能发布此内容。