406 Недопустимо при выполнении поста на ODATA4j - PullRequest
0 голосов
/ 30 декабря 2011

Я новичок в понятиях odata4j. Использование библиотеки odata4j odata4j-0.5-nojpabundle.jar запускает продюсер на tomcat по ссылке http://code.google.com/p/odata4j/wiki/Tomcat. Мой продюсер изменен, чтобы дать большой список целых чисел в виде набора сущностей под названием «Целые числа» Я мог бы получить serviceDoc, коллекционировать и применять фильтры. Теперь пытаемся выполнить публикацию на этом сервисном документе [пытаемся добавить еще одну запись с той же схемой].

Делать пост за http://localhost:8080/OData/example.svc/Integers с телом поста:

    <?xml version="1.0" encoding="utf-8" ?>  <edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> <entry>   <id>http://localhost:8080/OData/example.svc/Integers(100)</id>  
<title type="text" />   
<updated>2011-12-29T10:50:33Z</updated>
<author>   <name />    </author>
<link rel="edit" title="Integers" href="Integers(100)" />  
<category term="example.Integers" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> 
<content type="application/xml"> 
 <m:properties>  
 <d:EntityId m:type="Edm.Int32">100</d:EntityId>    </m:properties>  
 </content>  
 </entry>

получаю 406 неприемлемо Неизвестный тип контента application / xml; charset = UTF-8. Тип содержимого коллекции Int - application / xml. До сих пор не удалось выяснить, почему этот ответ получен. Кто-нибудь знает, что мне здесь не хватает.

Заранее спасибо.

1 Ответ

0 голосов
/ 09 января 2012
  1. Используйте application / atom + xml в качестве Content-Type
  2. Запись должна быть элементом документа (ваш xml выше не правильно сформирован)

См .: http://www.odata.org/developers/protocols/operations#CreatingnewEntries

Надеюсь, это поможет,
- Джон

...