Après l'appel de SAPUI5 callFunction(), Errorhandler n'est pas appelé
P粉432930081
P粉432930081 2024-04-04 18:06:36
0
1
411

J'essaie de valider l'IBAN dans l'assistant de SAPUI5. Je suis en V2 ODataModel (sap.ui.model.odata.v2.ODataModel) 上使用 functionImport pour ça.

La requête a renvoyé un code d'état 202 mais a en fait échoué. Voici la réponse (depuis l'onglet Réseau Firefox) :

--1D57E7CB0DD73AB15048B36CC96993D60
Content-Type: multipart/mixed; boundary=1D57E7CB0DD73AB15048B36CC96993D61
Content-Length:         1303

--1D57E7CB0DD73AB15048B36CC96993D61
Content-Type: application/http
Content-Length: 1134
content-transfer-encoding: binary

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 950
dataserviceversion: 1.0
cache-control: no-cache, no-store
pragma: no-cache
content-id: id-1687346500037-256

{"d":{"CheckIBAN":{"__metadata":{"type":"XXXX"},"AccountID":"XXXXXX","IBAN":"DEXXXX","BankID":"","WithInOutPayment":true,"SepaNotifText":"XXX"}}}
--1D57E7CB0DD73AB15048B36CC96993D61--

--1D57E7CB0DD73AB15048B36CC96993D60
Content-Type: application/http
Content-Length: 1111
content-transfer-encoding: binary

HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=utf-8
Content-Length: 991
dataserviceversion: 1.0

{"error":{"code":"XXX/076","message":{"lang":"de","value":"XXX"},"innererror":{"application":{"component_id":"XXX","service_namespace":"XXX","service_id":"XXXX","service_version":"0001"},"transactionid":"XXX","timestamp":"XXX","Error_Resolution":{"SAP_Transaction":"XXX","SAP_Note":"XXXX"},"errordetails":[{"code":"XXX/076","message":"XXX","propertyref":"","severity":"error","target":""}]}}}
--1D57E7CB0DD73AB15048B36CC96993D60--

(supprimer tout contenu confidentiel) Voici le résultat dans la console du navigateur :

Il faut donc qu'il soit enregistré quelque part. Mon code pour enregistrer les rappels est le suivant :

this.SERVICE.functionImport("CheckIBAN", XXX.Constants.HTTP_POST, XXX, true, {
            fnSuccess: jQuery.proxy(function (oData) {
                fnCallback(oData);
            }, this),
            fnError: fnError
        });

Veuillez noter que la fonction functionImport n'est qu'un wrapper autour de sap.ui.model.odata.v2.ODataModel.callFunction et effectue la même opération.

Peu importe ce que je saisis (saisie correcte ou erronée), il appelle toujours fnSuccess.

Quand j'utilise ODataModelread 函数(所以只是一个简单的 GET-request)时,一切正常,并且在发生错误时触发 fnError .

P粉432930081
P粉432930081

répondre à tous(1)
P粉338969567

Votre question ne contient pas la question "?"

Je suppose que vous demandez pourquoi « erreur » n'est pas appelée ?

Si la requête http échoue, "erreur" est appelée. Lorsque vous utilisez le traitement par lots, les erreurs dans le changeSet ne seront pas gérées par cette API... UI5 v2 n'est pas une implémentation très élégante...

Voir aussi : https://github.com/SAP/openui5/issue/1382#issuecomment-288723906

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!