синхронный вызов службы на стороне клиента
-
23-09-2019 - |
Вопрос
Я говорю о синхронности на стороне клиента.Это означает, что запрашивающая служба блокируется после отправки сообщения в службу.
мой вопрос:связано ли это с параметром -a -s инструмента wsdl2java, поскольку -a генерирует код асинхронного стиля, а -s генерирует код стиля синхронизации.
Или блокировка на стороне клиента полностью контролируется логикой клиента?
Спасибо
Решение
-a Генерировать только код асинхронного стиля (по умолчанию:выключенный)
-s Генерировать только код стиля синхронизации (по умолчанию:выключенный).Имеет приоритет над -a
Эти параметры будут определять, как ваш клиент будет вести себя при запросе/ответе. Когда вы используете WSDL2Java, в большинстве случаев вы обычно пишете бизнес-логику для выполнения соответствующих вызовов операций с соответствующими параметрами.
Вы по-прежнему можете обойти стиль вызова клиента, но на самом деле будет нелегко прочитать автоматически сгенерированный код AXIS 2.:)
Другие советы
Инструмент wsdl2java используется для создания синхронной (блокирующей) или асинхронной (неблокирующей) клиентской заглушки.
Для более подробной информации я бы рекомендовал прочитать API низкого уровня документация.Это будет описывать работу кода, который вы найдете в сгенерированных Java-файлах.
Если вы используете netbeans для создания клиента веб-службы, созданная операция по умолчанию уже синхронна.Если вы хотите переключить его на асинхронный вызов или наоборот, вы можете легко выполнить следующие шаги: https://netbeans.org/kb/docs/websvc/client.html#asynch-creatingtheclient