Selepas SAPUI5 callFunction() dipanggil, Errorhandler tidak dipanggil
P粉432930081
P粉432930081 2024-04-04 18:06:36
0
1
579

Saya cuba mengesahkan IBAN dalam wizard dalam SAPUI5. Saya menggunakan V2 ODataModel (sap.ui.model.odata.v2.ODataModel) 上使用 functionImport untuk ini.

Permintaan mengembalikan kod status 202 tetapi sebenarnya gagal. Berikut ialah respons (dari tab Rangkaian 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--

(buang semua kandungan sulit) Ini adalah hasil dalam konsol penyemak imbas:

Jadi ia perlu didaftarkan di suatu tempat. Kod saya untuk mendaftar panggilan balik adalah seperti berikut:

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

Sila ambil perhatian bahawa fungsi functionImport hanyalah pembalut di sekeliling sap.ui.model.odata.v2.ODataModel.callFunction dan melakukan operasi yang sama.

Tidak kira apa yang saya masukkan (input betul atau salah), ia sentiasa memanggil fnSuccess.

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

P粉432930081
P粉432930081

membalas semua(1)
P粉338969567

Soalan anda tidak mengandungi soalan "?"

Saya andaikan anda bertanya mengapa "ralat" tidak dipanggil?

Jika permintaan http gagal, "ralat" dipanggil. Apabila anda menggunakan pemprosesan kelompok, sebarang ralat dalam changeSet tidak akan dikendalikan oleh API ini...UI5 v2 bukanlah pelaksanaan yang sangat elegan...

Lihat juga: https://github.com/SAP/openui5/issue/1382#issuecomment-288723906

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan