2016-03-25 11 views
0

Ich verwende den SAP HANA xsodata-Dienst, um einen ODATA-Service in einer HANA-Tabelle zu erstellen, was gut funktioniert.Der XSODATA-Dienst unterstützt keine Zusammenführungsoperation?

Aktualisierung des Modells mit Update-Parameter auf sap.ui.model.odata.ODataModel funktioniert

Code:

oModel.update(sUrl, oEntry, { 
     success : //do something , 
     error : //do something 
    }); 

Jetzt möchte ich MERGE anstelle von PUT verwenden, während Aktualisierung nach the documentation

Mein Code:

oModel.update(sUrl, oEntry, { 
     merge: true, 
     success : //do something , 
     error : //do something 
    }); 

Es ist Es wird ein Fehler ausgegeben, da nur Get, Post, Put und Delete unterstützt wird.

Also, meine Frage ist, ob der Dienst von XSODATA MERGE nicht unterstützt?

Wenn es MERGE unterstützt, was ist falsch mit meinem Code?

Fehler - Folgendes Problem ist aufgetreten: HTTP-Anfrage failed405, Methode nicht erlaubt, {"Fehler": {"code": "", "Nachricht": {"lang": "en-US", "value" : "Ungültige HTTP-Methode nur GET, erlaubt POST, PUT, werden DEL-Methoden."}}}

+0

Kein Bedarf, diese Frage zu löschen. Es könnte sehr interessant für zukünftige Besucher sein. Fügen Sie der Frage die Verbatim-Fehlermeldung hinzu. Da ist etwas verdächtig, aber das kann ich nur anhand der Fehlermeldung überprüfen ... – flaschbier

+0

@flaschbier Ich habe genau den gleichen Fehlercode hinzugefügt, den du verlangt hast. Bitte helfen Sie –

+0

siehe Antwort unten. Es tut mir sehr leid, dass ich keine besseren Neuigkeiten für dich habe. – flaschbier

Antwort

0

Es ist sehr viel sieht aus wie der XS-Server unterstützt nur die folgenden HTTP-Methoden: GET, HEAD, POST, OPTIONS, PUT , DELETE, TRACE, CONNECT. Um dies zu sehen, besuchen Sie

https://<your.server:port>/sap/hana/xs/admin/#/package/<your.package.in.dot.notation> 

Navigieren Sie zu dem Paket, das Ihre ODATA Service .xsodata Datei enthält, nicht in bohren, sondern auf den Namen klicken, wählte Registerkarte „CORS“ und gehen [Bearbeiten]. Auf der Seite sehen Sie, welche Methoden erlaubt sind. Die docs, alle docs, sind ein bisschen vage, aber das ist die Liste.

Die Standardeinstellungen sagen GET, HEAD, POST, OPTIONS erlaubt sind, die passt Ihre Fehlermeldung. Die Einstellungen in dieser Registerkarte werden befolgt, da ich auf die harte Tour lernen musste, als ich einmal eine PUT ausprobierte.

So können wir schließen, dass die UI5 docs komischerweise eine Methode ankündigt, die nicht vom XS-Server unterstützt wird.