Как сгенерировать RESTful-клиент в JAVA для REST, определенного в WSDL - PullRequest
5 голосов
/ 22 апреля 2010

Я знаю, что WSDL предназначен для определения веб-служб на основе SOAP, но в большинстве WSDL, которые я видел в сети, в WSDL также определяется RESTful "веб-служба" -http: binding.

Для генерации клиента для SOAP я использовал инструмент wsimport из JAX-WS (он также генерирует клиентские классы для REST, но он не работает).

Итак, вопрос в том, как сгенерировать REST-клиент на основе WSDL?

Ответы [ 4 ]

3 голосов
/ 22 апреля 2010

Я никогда не слышал, чтобы кто-нибудь использовал WSDL для генерации REST-клиентов.WADL да, но не WSDL.

В любом случае, генерация клиентов для служб REST не имеет смысла.Если вы думаете, что хотите это сделать, то вы упускаете преимущества REST и пытаетесь следовать ограничениям REST, что заставит вас делать лишнюю работу даром.

1 голос
/ 17 февраля 2011

На самом деле вы можете автоматически сгенерировать заглушку, подобную SOAP, для JAX-RS, но она использует WADL, который, я считаю, является вариантом WSDL.

Apache CXF делает это , и если это не такДля вас это также автоматически создаст конечные точки SOAP и клиентов SOAP.

0 голосов
/ 23 сентября 2015

Сеть IBM Developer: WSDL2 может описывать службы REST.

Я думаю, что в программистах основное направление - это SOAP (классическая) священной войны - REST-сервисы. Никто не хочет этой войны, эти концепции могут сосуществовать - я вижу, что это мнение не только от меня и немногих людей, но и заслуженно поддерживает стандарты.

0 голосов
/ 13 января 2013

Вы можете использовать RestDescribe для генерации и компиляции WSDL, вы можете генерировать клиентов на php, ruby, python, java и C #, используя это. Он генерирует чистый код, и есть хорошее изменение: вам нужно немного его настроить после генерации кода, вы можете найти хорошую документацию и основные идеи, лежащие в основе инструмента здесь .

Есть несколько интересных и полезных WADL инструментов , упомянутых на wintermute.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...