0
votes

DOCUSIGN: 400 Erreur "Impossible d'analyser le corps de MultiPart" lorsque vous essayez de créer une enveloppe à partir de l'identifiant de l'UI5

Nous essayons de déterminer si docusign code> peut être utilisé dans des scénarios de production pour nos besoins de client.

Nous avons une application UI5 qui sera utilisée pour signer des documents. Nous avons créé un modèle dans l'instance de démonstration de docusign code>. P>

Cependant, lorsque nous essayons de créer une enveloppe à partir de l'application, nous obtenons 400 error code> Impossible d'analyser le corps de MultiPart code>. Maintenant, la même charge utile lorsqu'elle est utilisée dans l'application Postman, vous trouverez dans l'enveloppe de création avec succès. Les en-têtes passés sont également les mêmes. P>

dans l'application UI5: P>

var settings = {
                "async": true,
                "crossDomain": true,
                "url": "/docusign/envelopes",
                "method": "POST",
                "timeout": 0,
                "headers": {
                    "Authorization": "User DnVj27euWrCi4ANoMV5puvxVxYAcUCG3PlkUSpWpC08=, Organization 6ba64ce816dec995b17d04605e329a30, Element X4XuUq/T5UUh2o9xwaamZCCRwOKUCPr1Kv1Nj+qHPj0=",
                    "Content-Type": "application/json"
                },
                "data": JSON.stringify({
                    "status": "sent",
                    "compositeTemplates": [{
                        "compositeTemplateId": "1",
                        "inlineTemplates": [{
                            "recipients": {
                                "signers": [{
                                    "email": "johndoe@testmail.com",
                                    "name": "John Doe",
                                    "recipientId": "1",
                                    "roleName": "Signer",
                                    "clientUserId": "12345",
                                    "tabs": {
                                        "textTabs": [{
                                            "tabLabel": "firstName",
                                            "value": "John"
                                        }, {
                                            "tabLabel": "lastName",
                                            "value": "Doe"
                                        }, {
                                            "tabLabel": "phoneNo",
                                            "value": "022-635363"
                                        }, {
                                            "tabLabel": "email",
                                            "value": "test@gmail.com"
                                        }]
                                    }
                                }]
                            },
                            "sequence": "1"
                        }],
                        "serverTemplates": [{
                            "sequence": "1",
                            "templateId": "0bf97611-a457-4e8e-ac7e-1593c17ba3f6"
                        }]
                    }]
                })
            };
    var deferred = $.Deferred();
            $.ajax(settings).done(function (response) {
                deferred.resolve(response);
            }.bind(this)).fail(function (error) {
                deferred.reject(error);
            }.bind(this));


1 commentaires

Comparez les valeurs d'en-tête lorsqu'elles sont envoyées de Postman et sont appelées depuis votre application. Le code ci-dessus a «Type de contenu»: «Application / JSON» et ce n'est pas multiparti, partagez le journal exact avant de frapper Docusign. Ou vous pouvez capturer les journaux DS comme expliqué par Larry.


3 Réponses :


0
votes

Pourriez-vous régler en dehors des paramètres JSON et peut-être casser votre appel un peu avant de tout placer dans les paramètres.

I.e. Essayez de redéfinir votre appel JQuery Ajax Call: P>

var headers = {"Authorization": "User DnVj27euWrCi4ANoMV5puvxVxYAcUCG3PlkUSpWpC08=, Organization 6ba64ce816dec995b17d04605e329a30, Element X4XuUq/T5UUh2o9xwaamZCCRwOKUCPr1Kv1Nj+qHPj0=", "Content-Type": "application/json" };
var payload = JSON.stringify({
                "status": "sent",
                "compositeTemplates": [{
                    "compositeTemplateId": "1",
                    "inlineTemplates": [{
                        "recipients": {
                            "signers": [{
                                "email": "johndoe@testmail.com",
                                "name": "John Doe",
                                "recipientId": "1",
                                "roleName": "Signer",
                                "clientUserId": "12345",
                                "tabs": {
                                    "textTabs": [{
                                        "tabLabel": "firstName",
                                        "value": "John"
                                    }, {
                                        "tabLabel": "lastName",
                                        "value": "Doe"
                                    }, {
                                        "tabLabel": "phoneNo",
                                        "value": "022-635363"
                                    }, {
                                        "tabLabel": "email",
                                        "value": "test@gmail.com"
                                    }]
                                }
                            }]
                        },
                        "sequence": "1"
                    }],
                    "serverTemplates": [{
                        "sequence": "1",
                        "templateId": "0bf97611-a457-4e8e-ac7e-1593c17ba3f6"
                    }]
                }]
            });
$.ajax({
  "async": true,
  "crossDomain": true,
  "url": "/docusign/envelopes",
  "method": "POST",
  "timeout": 0,
  "headers": headers,
  "data": payload
});


1 commentaires

Salut Bernard. J'ai essayé le code ci-dessus et j'ai toujours la même erreur.



0
votes

Si le JSON EXO exacte est envoyé à partir de Postman et de l'application UI5, vous obtiendrez les mêmes résultats. Mais vous n'êtes pas, alors quelque chose est différent.

Probablement le système UI5 ​​envoie l'API sous la forme d'une demande de plusieurs pièces MIME, mais ne définit pas le type de contenu pour la partie de demande JSON correctement.

Pour vérifier: Utilisez le Docusign API Logger < / a> Voir ce qui est reçu par Docusign. Comparer entre la demande étant envoyée de l'UI5 et de Postman.

Pour corriger: vous devrez définir des paramètres supplémentaires UI5 afin que la demande ne soit pas envoyée sous forme de message MIME à plusieurs parties. Ou envoyer le message multi-pièces avec les paramètres nécessaires. Voir le Docs et Voir un Exemple de plusieurs parties . < / p>

PS S'il vous plaît poster une réponse à votre question avec la solution à votre problème (une fois que vous avez trouvé cela) aidez les autres à l'avenir. Merci!!


0 commentaires

0
votes

J'ai pu résoudre le problème en utilisant directement l'API docusign ( HTTPS: // Démo .docusign.net / restapi / v2 / comptes ). J'étais plus tôt en utilisant le SAP OpenConnector pour vous connecter à Docusign. https: //api.openconnectors.eu3.ext.hacanatrial. Ondemand.com/elements/api-v2

Merci tout pour l'aide.


0 commentaires