acessando o wsdl no Tomcat

Eu tenho um serviço da web e estava implantando no GlassFish. Eu acessei seu wsdl através de http: // localhost: 10697 / APIService / APIServiceService? Wsdl .

Agora eu portei o arquivo WAR para um Tomcat 6.0.24 e ele está implementado. No entanto, estou tentando acessar seu wsdl usando http: // localhost: 8080 / APIService / APIServiceService? Wsdl, mas estou recebendo um erro 404. Eu tentei várias combinações, mas nenhuma parece funcionar.

Como posso acessar o arquivo wsdl plz?

Obrigado e cumprimentos

Atualização: Aqui você está: web.xml :

     30    index.jsp   

Não consigo encontrar sun-jaxws.xml no entanto … Muito obrigado! Saudações

A maneira de acessar um WSDL não é realmente específica do contêiner, é mais específica do WS-stack. A pilha do WS no GlassFish é Metro (Metro = JAX-WS RI + WSIT). Você instalou / implanta o Metro ou o JAX-WS RI no Tomcat? Consulte Metro no Tomcat 6.x ou em Execução JAX-WS Amostras com o Tomcat 6.x (o JAX-WS RI pode ser o suficiente no seu caso) para as etapas.

Atualização: você precisa declarar o WSServlet no web.xml (consulte Implantando o terminal do Metro ):

     com.sun.xml.ws.transport.http.servlet.WSServletContextListener    WebServicePort  com.sun.xml.ws.transport.http.servlet.WSServlet  1   WebServicePort /services/*   60   

E, em seguida, no sun-jaxws.xml (também empacotado no WEB-INF), declare sua Service Endpoint Interface (SEI):

     

E você acessa o WSDL em:

 http://localhost:8080//services/hello?wsdl ABCD 
  • A é o host e a porta do contêiner do servlet.
  • B é o nome do arquivo war.
  • C vem do elemento url-pattern no arquivo web.xml.
  • D vem da raiz final do atributo url-pattern no arquivo sun-jaxws.xml.