Ich habe Probleme, Dienste dazu zu bringen, einen POST an /comment.json zu erkennen. Ich habe ein ähnliches Problem beim Erstellen von Knoten.
Folgendes ist der Fehler, den ich erhalte: HTTP / 1.1 406 Nicht akzeptabel: Fehlender erforderlicher Argumentkommentar
Diese Nachricht stammt aus der Datei: /services/server/rest_server/includes/RESTServer.inc Insbesondere die Zeilen:
elseif (!isset($info['optional']) || !$info['optional']) {
return services_error(t('Missing required argument !arg', array(
'!arg' => $info['name'],
)), 406);
}
Grundsätzlich scheint das Argument "Kommentar" zu fehlen (und es ist nicht optional).
Dies ist eines von vielen JSON-Elementen, die ich ihm gegeben habe (einen Kommentar an Knoten 8801 senden).
{name:"test",language:"und",cid:"0",pid:"0",uid:"17593",nid:"8801",
comment:{subject:"Subject of the comment, if not entered it will be auto-generated",
comment_body:
{und:[
[{value:"value of the field comment in the comment, remember that in D7 we can create fields for comments too", format: "full_html"}]
]}}}
Es ist vollkommen gültig (basierend auf anderen Online-JSON-Prüfungen). Es stimmt auch mit dem überein, was ich in den Testbeispielen für Services unter /services/test/functional/ServivesResourceCommentTests.test sehe
Ich erhalte jedoch immer die gleiche Fehlermeldung. Dies scheint ähnlich zu sein: Drupal 7 Services JSON-Knotenobjekt
das ist auch ungelöst. Kann mir jemand bei der richtigen JSON-Formatierung helfen? Eigentlich möchte ich es nur so weitergeben wie:
{ nid : 8081 , uid : 17593 ,comment:{comment_body:"test",subject:"test"}}
Meine http-Header scheinen in Ordnung zu sein und Benutzer / Login hat gut funktioniert.