Мне нужно создать динамический инициатор веб-сервисов на основе их WSDL. любая идея? Благодарность
Создание веб-службы «на лету», динамическое средство вызова веб-службы
comment
тебе повезло с этим?
- person Panagiotis Korros   schedule 26.05.2010
Ответы (3)
См. JAX-RPC; вам нужны динамические прокси или динамический интерфейс вызова (DII), если клиент не знает имя удаленного метода или его подпись.
Вот хороший пример того, что вы можете сделать с JAX-RPC имея только WSDL в качестве входных данных.
Как сказано в комментарии, JAX-RPC эволюционировал до JAX-WS.
person
systempuntoout
schedule
22.03.2010
нет - JAX-RPC устарел. JAX-WS свежий
- person Bozho; 22.03.2010
Означает ли это, что в любом случае я должен проанализировать wsdl, чтобы получить необходимую информацию, например: имя службы, типы портов, операции и т. д.?
- person Milan; 22.03.2010
@Божо Хорошо для свежести :); но помогите мне найти пример с JAX-WS, который использует DII.
- person systempuntoout; 22.03.2010
DII JAX-WS — это объект Dispatch (
javax.xml.ws.Dispatch
).
- person Pascal Thivent; 22.03.2010
вы читали эти страницы?
Обновлять
C# — динамический вызов веб-службы во время выполнения
Создание динамического веб-сервиса для упрощения кода Начиная с 2006 года
person
Orhan Cinar
schedule
22.03.2010
Динамическое обнаружение и вызов веб-сервисов, Дата: 01 августа 2001 г. Разве это не сложно, не существует более простого способа?
- person Milan; 22.03.2010
На самом деле мне нужно написать вызывающий код на Java, Eclipse + JSF.
- person Milan; 22.03.2010
Первая ссылка мертва.
- person Tamas G.; 23.08.2017
http://cxf.apache.org/docs/dynamic-clients.html
Генерирует клиентов на лету.
person
Kannan Ekanath
schedule
22.03.2010
да, но в любом случае, прежде чем я вызову веб-сервис, я должен знать операцию и сообщение?
- person Milan; 22.03.2010
Хорошо, если вы не знаете, какую операцию/сообщение вы вызываете, как вы планируете вызывать веб-сервис? Эта штука CXF генерирует клиентов на лету, если грамматика wsdl изменилась, она будет сгенерирована заново. Вам все еще нужно знать имя операции :)
- person Kannan Ekanath; 22.03.2010
Вы правы :) Мне нужно знать название операции :) А как насчет отправленных и полученных сообщений? Если я должен сделать динамический вызывающий клиент, это означает, что я все равно должен написать синтаксический анализатор wsdl?
- person Milan; 22.03.2010