Boa noite,
Estou estudando a criação de um webservice e gostaria de saber como publicar no tomcat.
Estou utilizando jax-ws, rodando no Eclipse o projeto abaixo funciona, mas quando crio o war coloco no tomcat, tento acessar a pagina e o xml não é exibido. Alguém poderia me orientar?
Segue o que fiz.
Criei um projeto chamado projetonovo.
Criei a classe Pessoa como abaixo:
package br.com.zelda.webservice;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class Pessoa {
@WebMethod
public String getNome() {
return "wagner";
}
}
Rodei os comando
wsgen para criar o restante das classe do webservice.
Criei a classe para publicar o serviços como abaixo:
import javax.xml.ws.Endpoint;
import br.com.zenfra.webservice.Pessoa;
public class Publica {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Endpoint.publish("http://localhost:10000/Pessoa", new Pessoa());
}
}
E quando rodo pelo Eclipse e acesso a url http://localhost:10000/Pessoa?wsdl o seguinte xml é exibido:
<?xml version="1.0" encoding="UTF-8" ?>
- <!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.1-b01-.
-->
- <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.1-b01-.
-->
- <definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://webservice.zelda.com.br/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://webservice.zelda.com.br/" name="PessoaService">
- <types>
- <xsd:schema>
<xsd:import namespace="http://webservice.zelda.com.br/" schemaLocation="http://localhost:10000/Pessoa?xsd=1" />
</xsd:schema>
</types>
- <message name="getNome">
<part name="parameters" element="tns:getNome" />
</message>
- <message name="getNomeResponse">
<part name="parameters" element="tns:getNomeResponse" />
</message>
- <portType name="Pessoa">
- <operation name="getNome">
<input wsam:Action="http://webservice.zelda.com.br/Pessoa/getNomeRequest" message="tns:getNome" />
<output wsam:Action="http://webservice.zelda.com.br/Pessoa/getNomeResponse" message="tns:getNomeResponse" />
</operation>
</portType>
- <binding name="PessoaPortBinding" type="tns:Pessoa">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <operation name="getNome">
<soap:operation soapAction="" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="PessoaService">
- <port name="PessoaPort" binding="tns:PessoaPortBinding">
<soap:address location="http://localhost:10000/Pessoa" />
</port>
</service>
</definitions>
Agora, como devo fazer para isso funcionar depois de gerar o war e colocar no tomcat?
Obrigado