Создаю и связываю XSD с WADL

Я создаю некоторые сервисы, используя JAX-RS, которые должны принимать в качестве аргументов произвольно сложные объекты, а не только примитивы, такие как целые числа и строки. В обсуждении CXF рассылки говорится, что в этом случае нужно использовать только объект-обертку в качестве единственного параметра.

Меня беспокоит, как документировать входной формат для сервиса? Если создать сервис, который выглядит следующим образом:

@POST
@Produces("application/json")
@Consumes("application/json")
@Path("oneParam")
public ComplexObject2 myServiceMethod(ComplexObject1 obj) {
    Foo f = obj.foo
    Bar b = obj.bar
    ...
}

автоматически генерируемый WADL, который создает CXF, будет выдавать только следующее:


   
      
            
      
      
             
       
   
 

Это не содержит никакой информации о том, что на самом деле содержит запрос или ответ. Сергей из списка рассылки CXF сказал, что можно связать схему с изображением, но как это сделать? И как мне создать XSD?

(P.S. Использование POST для idempotent ресурсов может быть не RESTful, но здесь это не важно, так как мы, по сути, делаем RPC, используя Json. Это более или менее 1:1 клон существующего SOAP основанного api.)

5
задан oligofren 29 May 2011 в 15:28
поделиться