Angular で BreezeJS を使用して、SAP Netweaver Gateway System によって提供される Restful OData サービスからデータを使用しています。アプリケーションは現在、サービスからメタデータを含むデータを正しく読み取っており、これはすべて期待どおりに EntityManager に保持されています。
ただし、エンティティの 1 つのステータスを変更して saveChanges() を実行すると、成功コールバックも失敗コールバックも呼び出されず、代わりにコンソール エラーが表示されます。
Uncaught TypeError: Cannot read property 'statusText' of undefined
保存を呼び出すコードは次のとおりです。
$scope.doSave = function(){
$scope.purchases[0].Requester = "Dave" ;
$scope.items[0].Description = "New Description";
if (!$scope._isSaving)
{
console.log("Saving!");
$scope._isSaving = true;
manager.saveChanges().then(function(data){
console.log("Saved");
console.log(data);
$scope._isSaving = false;
}, function(error){
console.log(error);
$scope._isSaving = false;});
}
}
manager は標準の Breeze EntityManager です。
コードはサーバー上で縮小されているため、デバッグが非常に困難ですが、これはコアの Breeze ライブラリの 1 つにスローされています。
以下のように、クライアントはサーバーに対して $batch POST リクエストを実行し、サーバーは 202 Accepted で応答しています。
--0DD0586DB234C0A3D0D530A25CD1C8400
Content-Type: multipart/mixed; boundary=0DD0586DB234C0A3D0D530A25CD1C8401
Content-Length: 519
--0DD0586DB234C0A3D0D530A25CD1C8401
Content-Type: application/http
Content-Length: 111
content-transfer-encoding: binary
HTTP/1.1 204 No Content
Content-Type: text/html
Content-Length: 0
dataserviceversion: 2.0
content-id: 1
--0DD0586DB234C0A3D0D530A25CD1C8401
Content-Type: application/http
Content-Length: 111
content-transfer-encoding: binary
HTTP/1.1 204 No Content
Content-Type: text/html
Content-Length: 0
dataserviceversion: 2.0
content-id: 2
--0DD0586DB234C0A3D0D530A25CD1C8401--
--0DD0586DB234C0A3D0D530A25CD1C8400--
これがここのどこかで見たことのあるものであることを願っています!