JAX-WS Multiplos WEB services em Aplicação

Boa tarde a todos.

Estou criando uma aplicação baseada em Web Services utilizando o Metro como implementação do JAX-WS.
Esta funcionando ok com um web service, porém quando vou adicionar outro o xsd gerado só traz o ComplexType de um web service.

Fiz da seguinte forma:
No sun-jaxws.xml:

<endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
  <endpoint implementation="com.mycompany.testews.service.WSSuperHello" name="WSSuperHello" url-pattern="/WSSuperHello"/>
  <endpoint implementation="com.mycompany.testews.service.WSUltraHello" name="WSUltraHello" url-pattern="/WSUltraHello"/>
</endpoints>

No web.xml:

    <servlet>
        <servlet-name>WSSuperHello</servlet-name>
        <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>WSUltraHello</servlet-name>
        <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>WSSuperHello</servlet-name>
        <url-pattern>/WSSuperHello</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>WSUltraHello</servlet-name>
        <url-pattern>/WSUltraHello</url-pattern>
    </servlet-mapping>

E os Web Services:

@WebService
public class WSSuperHello {
    @WebMethod(operationName = "hello")
    public String hello(Pessoa p) {
        return "Hello " + p.getNome();
    }
}

@WebService
public class WSUltraHello {
    @WebMethod(operationName = "hello")
    public String hello(Chefe p) {
        return "Hello Boss " + p.getNome();
    }
}

Não sei o que está acontecendo de errado, acho que em teoria deveria funcionar.

Desde já agradeço a ajuda.

O ideal seria que você não tivesse o mesmo nome de método para mais de um web service (mesmo que eles não tenham nenhuma relação entre si). É bizarro, eu sei, mas alguns AS’s e implementações de JAX-WS tem problemas com isso.

[]'s

Olá, obrigado pela resposta.

Tem razão fiz o teste agora e se eu colocar os métodos com nomes diferentes gera o xsd OK.

Isso é algo muito estranho, será que não tem alguma forma de passar algum parâmetro para fazer o JAX-WS entender isso?

Nunca vi. Aliás, se descobrir que existe algo, avise :wink:

[]'s

Vou tentar pesquisar um pouco sobre isso, é uma falha terrível na minha opinião… Será que se usar outra Implementação tipo JBossWS resolve?

Não… todas (ou, pelo menos, todas as que eu conheço) se comportam da mesma maneira.