2
respostas

Mudar context do webservice

Como faço para mudar o context de estoque-web para estoque ?

2 respostas

Achei essa solução, mas nao sei se é uma boa pratica

@WebServlet("/estoque/EstoqueWS")
@WebService(endpointInterface="br.com.caelum.estoque.ws.EstoqueWS", 
serviceName="EstoqueWS", 
portName="EstoqueWSPort")
public class EstoqueWSImpl implements EstoqueWS {

Com isso podemos utilizar o endereço:

http://localhost:8080/estoque/EstoqueWS?wsdl

Olá Marcos, tudo bem?

A solução que você encontrou de usar a anotação @WebServlet para definir o mapeamento do servlet é uma maneira válida de alterar o contexto do seu webservice JAX-WS.

Ao usar a anotação @WebServlet("/estoque/EstoqueWS"), você está mapeando o servlet para o contexto /estoque e definindo o caminho do servlet como /EstoqueWS.

Com essa configuração, o endpoint do seu webservice será http://localhost:8080/estoque/EstoqueWS, e você poderá acessar o WSDL através do endereço http://localhost:8080/estoque/EstoqueWS?wsdl.

Essa abordagem é comum e pode ser usada para personalizar o contexto do seu webservice em servidores de aplicação compatíveis com as especificações Servlet e JAX-WS, como o Wildfly.

No entanto, é importante observar que, ao fazer essa alteração, você precisa garantir que o contexto escolhido (/estoque no seu caso) não entre em conflito com outros contextos já existentes em seu servidor de aplicação.

Certifique-se também de atualizar qualquer configuração ou referência ao contexto anterior (/estoque-web, no seu exemplo) para o novo contexto que você definiu (/estoque).

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software