Senhores, publiquei o serviço em produção com wildfly, gerei as classes pelo wsimport e ao consumir é retornado timeout. Ao abrir o wsdl (http://dominio.com.br/servico?wsdl) aparece o ip interno do server web conforme abaixo:
<wsdl:service name="Service">
<wsdl:port binding="tns:ServiceSoapBinding" name="WSPort">
<soap:address location="http://172.10.1.18:8080/servico"/>
</wsdl:port>
</wsdl:service>
Blz, mas já utilizei todos os recursos de busca interna de arquivo e não achei nenhuma referência desse IP interno nas classes gerada pelo wsimport, pelo contrário, todas referências da url estavam com o domínio a cima.
Ao tentar consumir pelo SoapUI, a página de Request gerada, apontava para o IP interno. Como ele permite alterar o endereço, mudei para o domínio e funcionou. Essa é a explicação do timeout.
No entanto, mesmo as minhas classes geradas pelo wsimport não estarem apontando para o IP interno, como é possível ainda retornar o timeout??
Alguém já passou por isso? Suspeito que seja uma configuração no wildfly e/ou apache.
Segue a classe do serviço:
@WebService
@SOAPBinding(style=Style.DOCUMENT,parameterStyle=ParameterStyle.BARE)
public class ServicoWS {
@WebMethod(operationName = "servico", action="servico")
public ObjetoRetorno emite(@WebParam(name = "tokenUsuario", header = true) TokenUsuario token,
@WebParam(name = "documento") Documento documento) throws AutorizacaoException {
[...]
}
}