Invocação de serviço síncrono do lado do cliente
-
23-09-2019 - |
Pergunta
Estou falando de síncrono no lado do cliente. Isso significa que o solicitante de serviço está bloqueando depois de enviar uma mensagem para o serviço.
Minha pergunta é: está relacionado ao parâmetro -a -s da ferramenta WSDL2Java, já que -a gera código de estilo assíncrono e -s gera código de estilo de sincronização.
Ou o bloqueio do lado do cliente ou não é totalmente controlado pela lógica do cliente?
Obrigado
Solução
-Uma gerar apenas código de estilo assíncrono (padrão: desligado)
-S geram apenas código de estilo de sincronização (padrão: desligado). Tem precedência sobre -a
Essas opções definirão como seu cliente se comportará para solicitação/resposta, quando você usar o WSDL2Java na maioria das vezes em que você geralmente escreve a lógica de negócios para fazer as chamadas de operação apropriadas com os parâmetros apropriados.
Você ainda pode passar o estilo de invocação do cliente, mas realmente não será fácil ler esse código de eixo gerado automaticamente 2. :)
Outras dicas
Você usa a ferramenta WSDL2Java para gerar um cliente síncrono (bloqueador) ou um cliente assíncrono (não bloqueador).
Para mais detalhes, recomendo ler o APIs de baixo nível documentação. Isso descreveria a operação do código que você encontrará nos seus arquivos Java gerados.
Se você estiver usando o NetBeans para gerar seu cliente de serviço da web, a operação gerada já está síncrona por padrão. Se você deseja alterná -lo para ser uma chamada assíncrona ou vice -versa, pode seguir estas etapas facilmente: https://netbeans.org/kb/docs/websvc/client.html#asynch-creatingtheclient