我能够通过SOAP API成功创建一个信封(通过.NET WCF集成)但是对RequestRecipientToken的调用失败并显示错误消息“Unspecified_Error”。调用REST API v2获取相同的参数(尽管它们可以相同...... API略有不同)是成功的。
不幸的是,我能够执行的唯一跟踪类型是创建跟踪文件...尝试使用fiddler来监视WCF,但加密使得不成功。
记录到跟踪的请求是:
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
<EventID>0</EventID>
<Type>3</Type>
<SubType Name="Information">0</SubType>
<Level>8</Level>
<TimeCreated SystemTime="2014-03-04T22:27:34.5571547Z" />
<Source Name="System.ServiceModel.MessageLogging" />
<Correlation ActivityID="{742449ea-863a-42a4-9c69-c5a92111e005}" />
<Execution ProcessName="w3wp" ProcessID="900" ThreadID="12" />
<Channel />
<Computer>OFFICE</Computer>
</System>
<ApplicationData>
<TraceData>
<DataItem>
<MessageLogTraceRecord Time="2014-03-04T17:27:34.5381536-05:00" Source="ServiceLevelSendRequest" Type="System.ServiceModel.Dispatcher.OperationFormatter+OperationFormatterMessage" xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace">
<HttpRequest>
<Method>POST</Method>
<QueryString></QueryString>
<WebHeaders>
<X-DocuSign-Authentication><DocuSignCredentials><Username>***masked***</Username><Password>***masked***</Password><IntegratorKey>***masked***</IntegratorKey></DocuSignCredentials></X-DocuSign-Authentication>
<VsDebuggerCausalityData>uIDPo7AOX0T1NXpIuAZgXjCci+8AAAAARJHtwKjn1kmg8J+ExYSKzCUDuOHpcnlBijkOggov/WUACQAA</VsDebuggerCausalityData>
</WebHeaders>
</HttpRequest>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://www.docusign.net/API/3.0/RequestRecipientToken</Action>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<RequestRecipientToken xmlns="http://www.docusign.net/API/3.0">
<EnvelopeID>200761a7-1387-492b-a4e7-46ef6832d794</EnvelopeID>
<ClientUserID>1</ClientUserID>
<Username>***masked***</Username>
<Email>***masked***</Email>
<AuthenticationAssertion>
<AssertionID>b0ae70e3-864b-4be0-88c6-82c0b7c7f43f</AssertionID>
<AuthenticationInstant>2014-03-04T17:27:34.5261529-05:00</AuthenticationInstant>
<AuthenticationMethod>Password</AuthenticationMethod>
<SecurityDomain>***masked***</SecurityDomain>
</AuthenticationAssertion>
<ClientURLs></ClientURLs>
</RequestRecipientToken>
</s:Body>
</s:Envelope>
</MessageLogTraceRecord>
</DataItem>
</TraceData>
</ApplicationData>
</E2ETraceEvent>
记录到跟踪的响应是:
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
<EventID>0</EventID>
<Type>3</Type>
<SubType Name="Information">0</SubType>
<Level>8</Level>
<TimeCreated SystemTime="2014-03-04T22:27:37.1393024Z" />
<Source Name="System.ServiceModel.MessageLogging" />
<Correlation ActivityID="{742449ea-863a-42a4-9c69-c5a92111e005}" />
<Execution ProcessName="w3wp" ProcessID="900" ThreadID="12" />
<Channel />
<Computer>OFFICE</Computer>
</System>
<ApplicationData>
<TraceData>
<DataItem>
<MessageLogTraceRecord Time="2014-03-04T17:27:37.1383024-05:00" Source="ServiceLevelReceiveReply" Type="System.ServiceModel.Channels.BufferedMessage" xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace">
<HttpResponse>
<StatusCode>InternalServerError</StatusCode>
<StatusDescription>Internal Server Error</StatusDescription>
<WebHeaders>
<Vary>Accept-Encoding</Vary>
<Strict-Transport-Security>max-age=7776000; includeSubDomains</Strict-Transport-Security>
<Content-Encoding></Content-Encoding>
<Connection>Keep-Alive</Connection>
<Content-Length>661</Content-Length>
<Cache-Control>private</Cache-Control>
<Content-Type>text/xml; charset=utf-8</Content-Type>
<Date>Tue, 04 Mar 2014 22:28:32 GMT</Date>
</WebHeaders>
</HttpResponse>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://schemas.xmlsoap.org/ws/2004/08/addressing/fault</wsa:Action>
<wsa:MessageID>urn:uuid:fc236ae1-d415-422c-963f-12bae42b0408</wsa:MessageID>
<wsa:RelatesTo>urn:uuid:13ac02ae-a7df-4709-b429-1da698317c34</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-fafec7b1-7e35-415b-a72e-80685b8747bd">
<wsu:Created>2014-03-04T22:28:32Z</wsu:Created>
<wsu:Expires>2014-03-04T22:33:32Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode xmlns="">soap:Server</faultcode>
<faultstring xmlns="">Unspecified_Error</faultstring>
<faultactor xmlns="">https://demo.docusign.net/api/3.0/dsapi.asmx</faultactor>
<detail xmlns="">
<ErrorCode xmlns="missing in Web.Config">1</ErrorCode>
<ErrorReason xmlns="missing in Web.Config">An Error Occurred.</ErrorReason>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
</MessageLogTraceRecord>
</DataItem>
</TraceData>
</ApplicationData>
</E2ETraceEvent>
答案 0 :(得分:0)
您的问题很可能是因为您未在<ClientURLs>
元素中包含子元素。 DocuSign需要知道在哪里为浏览器的每个可能结果重定向浏览器 - 它使用您在<ClientURLs>
中为此目的指定的URL。
以下是成功的 RequestRecipientToken 请求的示例(我使用“http://www.cnn.com”作为每个网址的占位符值,仅用于演示目的):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.docusign.net/API/3.0">
<soapenv:Header/>
<soapenv:Body>
<ns:RequestRecipientToken>
<ns:EnvelopeID>9c1897c0-f26c-48de-994f-db9aa07eb832</ns:EnvelopeID>
<ns:ClientUserID>1234</ns:ClientUserID>
<ns:RecipientID>1</ns:RecipientID>
<ns:Username>John Doe</ns:Username>
<ns:Email>johnsemail@outlook.com</ns:Email>
<ns:AuthenticationAssertion>
<ns:AssertionID>pn2</ns:AssertionID>
<ns:AuthenticationInstant>2014-03-04T13:50:37-07:00</ns:AuthenticationInstant>
<ns:AuthenticationMethod>PaperDocuments</ns:AuthenticationMethod>
<ns:SecurityDomain>docusignhq.com</ns:SecurityDomain>
</ns:AuthenticationAssertion>
<ns:ClientURLs>
<ns:OnSigningComplete>http://www.cnn.com</ns:OnSigningComplete>
<ns:OnViewingComplete>http://www.cnn.com</ns:OnViewingComplete>
<ns:OnCancel>http://www.cnn.com</ns:OnCancel>
<ns:OnDecline>http://www.cnn.com</ns:OnDecline>
<ns:OnSessionTimeout>http://www.cnn.com</ns:OnSessionTimeout>
<ns:OnTTLExpired>http://www.cnn.com</ns:OnTTLExpired>
<ns:OnException>http://www.cnn.com</ns:OnException>
<ns:OnAccessCodeFailed>http://www.cnn.com</ns:OnAccessCodeFailed>
<ns:OnIdCheckFailed>http://www.cnn.com</ns:OnIdCheckFailed>
<ns:OnFaxPending>http://www.cnn.com</ns:OnFaxPending>
<ns:GenerateSignedDocumentAsynch>false</ns:GenerateSignedDocumentAsynch>
</ns:ClientURLs>
</ns:RequestRecipientToken>
</soapenv:Body>
</soapenv:Envelope>