Создание веб-службы «на лету», динамическое средство вызова веб-службы

Мне нужно создать динамический инициатор веб-сервисов на основе их WSDL. любая идея? Благодарность


person Milan    schedule 22.03.2010    source источник
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
comment
нет - JAX-RPC устарел. JAX-WS свежий - person Bozho; 22.03.2010
comment
Означает ли это, что в любом случае я должен проанализировать wsdl, чтобы получить необходимую информацию, например: имя службы, типы портов, операции и т. д.? - person Milan; 22.03.2010
comment
@Божо Хорошо для свежести :); но помогите мне найти пример с JAX-WS, который использует DII. - person systempuntoout; 22.03.2010
comment
DII JAX-WS — это объект Dispatch (javax.xml.ws.Dispatch). - person Pascal Thivent; 22.03.2010

вы читали эти страницы?

Динамическое обнаружение и вызов веб-служб

Динамический вызов веб-службы< /а>

Обновлять

C# — динамический вызов веб-службы во время выполнения

Создание динамического веб-сервиса для упрощения кода Начиная с 2006 года

person Orhan Cinar    schedule 22.03.2010
comment
Динамическое обнаружение и вызов веб-сервисов, Дата: 01 августа 2001 г. Разве это не сложно, не существует более простого способа? - person Milan; 22.03.2010
comment
На самом деле мне нужно написать вызывающий код на Java, Eclipse + JSF. - person Milan; 22.03.2010
comment
Первая ссылка мертва. - person Tamas G.; 23.08.2017

http://cxf.apache.org/docs/dynamic-clients.html

Генерирует клиентов на лету.

person Kannan Ekanath    schedule 22.03.2010
comment
да, но в любом случае, прежде чем я вызову веб-сервис, я должен знать операцию и сообщение? - person Milan; 22.03.2010
comment
Хорошо, если вы не знаете, какую операцию/сообщение вы вызываете, как вы планируете вызывать веб-сервис? Эта штука CXF генерирует клиентов на лету, если грамматика wsdl изменилась, она будет сгенерирована заново. Вам все еще нужно знать имя операции :) - person Kannan Ekanath; 22.03.2010
comment
Вы правы :) Мне нужно знать название операции :) А как насчет отправленных и полученных сообщений? Если я должен сделать динамический вызывающий клиент, это означает, что я все равно должен написать синтаксический анализатор wsdl? - person Milan; 22.03.2010