Web Service no JBoss

Olá Galera, blz?? To com um problema com meu Web Service no JBoss. Consegui resolver, mas está me soando Gambi…não sei, se puderem me confirmar se está certo ou não agradeço…

Vamos lá…

Considerando os seguintes ambientes:
Teste - Glassfish
Produção - Jboss

Criei uma classe para ser meu WebService com seu método insere

@WebService()
public class ItemWs {

    @WebMethod(operationName = "insere")
    @Oneway
    public void insere(){
            // logica do metodo omitido
    }
}

no GlassFish não precisei fazer nenhuma configuração, apenas acessei a URL:

http://localhost:8080/nomedaaplicacao/ItemWsService?wsdl

e consegui visualizar o wsdl gerado…

subindo essa aplicação para Produção (JBoss)…essa mesma URL não foi encontrada…

fiz o seguinte mapeamento no web.xml


<servlet>
        <servlet-name>ItemWsService</servlet-name>
        <servlet-class>br.com.minhaapl.ws.ItemWs</servlet-class>
        <load-on-startup>1</load-on-startup>
        </servlet>
    <servlet-mapping>
        <servlet-name>ItemWsService</servlet-name>
        <url-pattern>/ItemWsService</url-pattern>
    </servlet-mapping>

aí sim consegui visualizar o WSDL gerado…Mas a tag

ele gerou um endereço nada a ve

ele deveria gerar

     <soap:address location="http://localhost:8080/aplicacao/ItemWsService"/>
    
     ou 

     <soap:address location="http://IP:8080/aplicacao/ItemWsService"/>

bom, achei o WSDL gerado dentro da pasta do JBoss e alterei essa tag para

     <soap:address location="http://localhost:8080/aplicacao/ItemWsService"/>

e funcionou, porém a cada redeploy terei q fazer isso…[Não é bom sinal]

Esse endereço do é gerado de que forma?? É realmente necessário mapear no web.xml o Web Service gerado para rodar no JBoss?? vlw…

Tente assim…

@WebService(name = "ItemWsService")
public class ItemWs {  

Deverá gerar da forma que vc espera:

http://localhost:8080/nomedaaplicacao/ItemWsService?wsdl

certo…um problema resolvido…

em relação ao endereço do SOAP alguém tem idéia???

O endereço que ele coloca no soap é o endereço do ip ou host que vc apontou mais o path da sua aplicação, caso vc tenha colocado o ip de bind como 0.0.0.0 acho q ele usa o nome da maquina, não me recordo. no user guide do jboss tem o procedimento que dever ser feito para alterar o soap http://www.jboss.org/community/wiki/JBossWS-UserGuide