2016-04-10 12 views
0

Ich verwende den docusign C# -Client (https://github.com/docusign/docusign-csharp-client).EnvelopeApi.CreateEnvelope() (docusign) löst eine USER_AUTHENTICATION_FAILED-Ausnahme aus

  1. Der gleiche Code funktioniert in der Inszenierung (demo.docusign.net) Umgebung, aber nicht in der Produktion (www.docusign.net) -Umgebung.
  2. die gleichen Anmeldeinformationen des Benutzers arbeitet mit dem älteren DocuSign sdk (DocuSign.Integration.Client.dll, v1.7.2), aber nicht mit der neuesten DocuSign sdk (DocuSign.eSign.dll, v2.0.1)

Hier ist mein Code:

var accountId = LoginAndGetAccountId(); 

var envelopeDefinition = new EnvelopeDefinition 
{ 
    EmailSubject = "Please sign this agreement.", 
    Status = "sent" 
}; 

... 
... 

var envelopesApi = new EnvelopesApi(); 
var envelopeSummary = envelopesApi.CreateEnvelope(accountId, envelopeDefinition); 

ich über die API anmelden kann, und eine gültige Konto-ID erhalten. Der Code bombardiert mit der Produktionsumgebung, wenn ich den Aufruf "humvesApi.CreateEnvelope()" mache.

An unhandled exception of type 'DocuSign.eSign.Client.ApiException' occurred in DocuSign.eSign.dll 

Additional information: Error calling CreateEnvelope: { 
    "errorCode": "USER_AUTHENTICATION_FAILED", 
    "message": "One or both of Username and Password are invalid." 
} 

Wie kann ich debuggen diese weiter?

+0

Hat Ihre Integration Schlüssel für den Einsatz auf der Produktionsplattform zertifiziert? –

+0

Ja.Wie ich oben erwähnt habe, habe ich Code in Produktion mit dem älteren sdk (DocuSign.Integration.Client.dll, v1.7.2) ausgeführt. Ich versuche, meinen Code mit dem neueren SDK zu verwenden. –

Antwort

2

Der Login() - API-Aufruf wird verwendet, um sich bei der API zu authentifizieren und Ihre baseUrl und accountId abzurufen. Sie werden feststellen, dass die zurückgegebene baseUrl den richtigen Server enthält, auf dem sich Ihr Benutzer/Konto befindet.

Wenn Sie den Login-Aufruf gegen die Produktion machen, welcher Wert wird zurückgebracht? Da Sie einen Benutzerauthentifizierungsfehler erhalten, denke ich, dass der Wert NICHT www ist, sondern eu1 oder na2 ich rate. Können Sie bestätigen, welche Domäne zurückgegeben wird und dass Sie Produktionsaufrufe für den richtigen Server ausführen?

Hinweis: All-Info wird in dem POST-API Certification Guide enthält: https://www.docusign.com/sites/default/files/API_Certification_Post_04_08_16.pdf

+0

Das Problem gefunden und behoben. Danke für Ihre Hilfe –

+0

@pradman Nun .... was war die Lösung? Hilf einem Bruder! –

0

Für jeden kämpfen mit diesem, ist die Antwort frustrierend einfach ist.

Mein Programm funktionierte gut, wenn die Basis-URL auf demo.docusign.net/restapi gezeigt wurde.

Ich war genehmigt, die API zu verwenden, meine Produktionsumgebung wurde mit einem kostenpflichtigen Rezept und Benutzern eingerichtet. Dann habe ich meinen Code aktualisiert, um die neuen Benutzer und Kennwörter zu verwenden.

In der Dokumentation gibt es einen Hinweis, der besagt, dass Sie die Basis-URL in Ihrem Code zu www.docusign.com/restapi ändern müssen, wenn Sie bereit sind, zur Produktion zu wechseln. Also habe ich diese Änderung ebenfalls vorgenommen.

Dann würde ich den Fehler vom OP genannt bekommen. Wenn ich es zurück zu der URL für die Entwicklung wechselte, gab es kein Problem.

Um das Problem zu lösen - verwenden Sie nicht www. Verwenden Sie entweder na2, eu1 oder eu. Einfach so.

Um herauszufinden, welche zu verwenden, gehen Sie zu Ihrem Konto im Docusign-Portal und aktivieren Sie die Protokollierung. Laden Sie das Protokoll herunter und bei den Dateien im Protokoll sollte oben ein Verweis auf na2, eu1 oder eu stehen.

So:

PUT https://na2.docusign.net:.... 
Verwandte Themen