Não estou conseguindo publicar o serviço no WildFly. Segui os mesmo procedimentos descritos no exercício e quando vou tentar abrir o wsdl em http://localhost:8080/estoque-web/EstoqueWS?wsdl dá um erro not found.
Não estou conseguindo publicar o serviço no WildFly. Segui os mesmo procedimentos descritos no exercício e quando vou tentar abrir o wsdl em http://localhost:8080/estoque-web/EstoqueWS?wsdl dá um erro not found.
package br.com.caelum.estoque.ws;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.Action;
import javax.xml.ws.FaultAction;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
/**
* This class was generated by Apache CXF 2.7.13
* 2018-07-24T15:54:31.680-03:00
* Generated source version: 2.7.13
*
*/
@WebService(targetNamespace = "http://ws.estoque.caelum.com.br/", name = "EstoqueWS")
@XmlSeeAlso({ObjectFactory.class})
public interface EstoqueWS {
@WebMethod(operationName = "TodosOsItens")
@Action(input = "http://ws.estoque.caelum.com.br/EstoqueWS/TodosOsItensRequest", output = "http://ws.estoque.caelum.com.br/EstoqueWS/TodosOsItensResponse")
@RequestWrapper(localName = "TodosOsItens", targetNamespace = "http://ws.estoque.caelum.com.br/", className = "br.com.caelum.estoque.ws.TodosOsItens")
@ResponseWrapper(localName = "TodosOsItensResponse", targetNamespace = "http://ws.estoque.caelum.com.br/", className = "br.com.caelum.estoque.ws.TodosOsItensResponse")
@WebResult(name = "itens", targetNamespace = "")
public br.com.caelum.estoque.ws.ListaItens todosOsItens(
@WebParam(name = "filtros", targetNamespace = "http://ws.estoque.caelum.com.br/")
br.com.caelum.estoque.ws.Filtros filtros
);
@WebMethod(operationName = "CadastrarItem")
@Action(input = "http://ws.estoque.caelum.com.br/EstoqueWS/CadastrarItemRequest", output = "http://ws.estoque.caelum.com.br/EstoqueWS/CadastrarItemResponse", fault = {@FaultAction(className = AutorizacaoFault.class, value = "http://ws.estoque.caelum.com.br/EstoqueWS/CadastrarItem/Fault/AutorizacaoException")})
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@WebResult(name = "CadastrarItemResponse", targetNamespace = "http://ws.estoque.caelum.com.br/", partName = "result")
public CadastrarItemResponse cadastrarItem(
@WebParam(partName = "parameters", name = "CadastrarItem", targetNamespace = "http://ws.estoque.caelum.com.br/")
CadastrarItem parameters,
@WebParam(partName = "tokenUsuario", name = "tokenUsuario", targetNamespace = "http://ws.estoque.caelum.com.br/", header = true)
TokenUsuario tokenUsuario
) throws AutorizacaoFault;
}
package br.com.caelum.estoque.ws;
import java.util.Arrays;
import javax.jws.WebService;
@WebService(endpointInterface="br.com.caelum.estoque.ws.EstoqueWS",serviceName="EstoqueWS",
portName="EstoqueWSPort")
public class EstoqueWSImpl implements EstoqueWS {
@Override
public ListaItens todosOsItens(Filtros filtros) {
System.out.println("Chamando todos os Itens");
ListaItens listaItens = new ListaItens();
listaItens.item = Arrays.asList(geraItem());
return listaItens;
}
@Override
public CadastrarItemResponse cadastrarItem(CadastrarItem parameters, TokenUsuario tokenUsuario) throws AutorizacaoFault {
System.out.println("Chamando cadastarItem");
CadastrarItemResponse resposta = new CadastrarItemResponse();
resposta.setItem(geraItem());
return resposta;
}
//método auxiliar
private Item geraItem() {
Item item = new Item();
item.codigo = "MEA";
item.nome = "MEAN";
item.quantidade = 5;
item.tipo = "Livro";
return item;
}
}
No Console não apresenta nada referente ao serviço, as classes foram criadas via cmd a partir do wsdl e o projeto foi add no servidor.
Alguém ?
Oi Paulo,
Aparentemente o código está correto.
Se não apareceu nada no console pode ser que o WildFly não tenha feito o deploy do projeto.
Faz o seguinte, na aba Servers
clique na setinha para expandir o WildFly, clique com o botão direito em cima do projeto e escolha: Full Publish.
Após isso reinicie o servidor e veja se resolve.
Aproveitando, poste aqui todo o log que for impresso no console.
LOG
16:16:25,410 INFO [org.jboss.modules] (main) JBoss Modules version 1.3.3.Final 16:16:25,605 INFO [org.jboss.msc] (main) JBoss MSC version 1.2.2.Final 16:16:25,667 INFO [org.jboss.as] (MSC service thread 1-7) JBAS015899: WildFly 8.2.1.Final "Tweek" starting 16:16:26,867 INFO [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015003: Found estoquews-web.war in deployment directory. To trigger deployment create a file called estoquews-web.war.dodeploy 16:16:26,885 INFO [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http) 16:16:26,904 INFO [org.xnio] (MSC service thread 1-6) XNIO version 3.3.0.Final 16:16:26,914 INFO [org.xnio.nio] (MSC service thread 1-6) XNIO NIO Implementation Version 3.3.0.Final 16:16:26,975 INFO [org.jboss.as.webservices] (ServerService Thread Pool -- 48) JBAS015537: Activating WebServices Extension 16:16:26,978 WARN [org.jboss.as.txn] (ServerService Thread Pool -- 46) JBAS010153: Node identifier property is set to the default value. Please make sure it is unique. 16:16:26,981 INFO [org.jboss.as.security] (ServerService Thread Pool -- 45) JBAS013171: Activating Security Subsystem 16:16:27,003 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 32) JBAS010280: Activating Infinispan subsystem. 16:16:27,006 INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3) 16:16:27,018 INFO [org.wildfly.extension.io] (ServerService Thread Pool -- 31) WFLYIO001: Worker 'default' has auto-configured to 8 core threads with 64 task threads based on your 4 available processors 16:16:27,027 INFO [org.jboss.as.security] (MSC service thread 1-4) JBAS013170: Current PicketBox version=4.0.21.Final 16:16:27,040 INFO [org.jboss.as.naming] (ServerService Thread Pool -- 40) JBAS011800: Activating Naming Subsystem 16:16:27,046 INFO [org.jboss.as.jsf] (ServerService Thread Pool -- 38) JBAS012615: Activated the following JSF Implementations: [main] 16:16:27,071 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 47) JBAS017502: Undertow 1.1.8.Final starting 16:16:27,073 INFO [org.wildfly.extension.undertow] (MSC service thread 1-5) JBAS017502: Undertow 1.1.8.Final starting 16:16:27,121 INFO [org.jboss.as.connector.logging] (MSC service thread 1-4) JBAS010408: Starting JCA Subsystem (IronJacamar 1.1.9.Final) 16:16:27,128 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) JBAS010417: Started Driver service with driver-name = h2 16:16:27,197 INFO [org.jboss.as.naming] (MSC service thread 1-8) JBAS011802: Starting Naming Service 16:16:27,211 INFO [org.jboss.as.mail.extension] (MSC service thread 1-7) JBAS015400: Bound mail session [java:jboss/mail/Default] 16:16:27,349 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 47) JBAS017527: Creating file handler for path C:\develop\wildfly-8.2.1.Final/welcome-content 16:16:27,556 INFO [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017525: Started server default-server. 16:16:27,565 INFO [org.jboss.remoting] (MSC service thread 1-2) JBoss Remoting version 4.0.7.Final 16:16:27,568 INFO [org.wildfly.extension.undertow] (MSC service thread 1-4) JBAS017531: Host default-host starting 16:16:27,700 INFO [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017519: Undertow HTTP listener default listening on localhost/127.0.0.1:8080 16:16:27,847 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS] 16:16:27,876 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-1) JBAS015012: Started FileSystemDeploymentService for directory C:\develop\wildfly-8.2.1.Final\standalone\deployments 16:16:27,877 INFO [org.jboss.as.server.deployment] (MSC service thread 1-7) JBAS015876: Starting deployment of "estoquews-web.war" (runtime-name: "estoquews-web.war") 16:16:28,382 INFO [org.jboss.ws.common.management] (MSC service thread 1-5) JBWS022052: Starting JBoss Web Services - Stack CXF Server 4.3.2.Final 16:16:28,696 INFO [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017534: Registered web context: /estoquews-web 16:16:28,752 INFO [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "estoquews-web.war" (runtime-name : "estoquews-web.war") 16:16:28,888 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management 16:16:28,889 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990 16:16:28,889 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.2.1.Final "Tweek" started in 3699ms - Started 249 of 304 services (92 services are lazy, passive or on-demand)
Ao clicar no Full Publish ocorre o seguinte erro.
Error renaming C:\develop\wildfly-8.2.1.Final\standalone\tmp\tmp8540554980379931124.wsdl to C:\develop\wildfly-8.2.1.Final\standalone\deployments\estoquews-web.war\WEB-INF\classes\EstoqueWSServiceCap5.wsdl.
This may be caused by incorrect file permissions, or your server's temporary deploy directory may be on a different filesystem than the final destination.
You may adjust these settings in the server editor.
Oi Paulo,
Pelo log, a aplicação subiu com o contexto estoquews-web, então o endereço correto para acessar o WSDL deve ser: http://localhost:8080/estoquews-web/EstoqueWS?wsdl.
Veja se não era isso o problema.
Continua com erro pagina não encontrada. com o endereço http://localhost:8080/estoquews-web/EstoqueWS?wsdl
Oi Paulo,
Na sua mensagem anterior tinha dado um erro ao fazer o full publish.
Faz o seguinte então, entre no diretório onde está instalado seu WildFly, que deve ser C:\develop\wildfly-8.2.1.Final
Entre na pasta standalone
e nela deve ter uma pasta chamada tmp
. Acesse essa pasta tmp e apague todos os arquivos que estiverem nela.
Depois disso, acesse a pasta deployments
e também apague todos os arquivos dentro dela.
Volte ao eclipse e tente fazer o full publish do projeto e inicializar o WildFly
Continua com o erro.
No eclipse surgiu uma pasta JSR-109 Web Services. Dentro da pasta C:\develop\wildfly-8.2.1.Final\standalone\deployments existe a pasta estoquews-web.war que não consigo excluir *Erro ao executar Full Publish Error renaming C:\develop\wildfly-8.2.1.Final\standalone\tmp\tmp1417170349060775221.wsdl to C:\develop\wildfly-8.2.1.Final\standalone\deployments\estoquews-web.war\WEB-INF\classes\EstoqueWSServiceCap5.wsdl.
This may be caused by incorrect file permissions, or your server's temporary deploy directory may be on a different filesystem than the final destination.
You may adjust these settings in the server editor.
Oi Paulo,
Pesquisando aqui vi que uma pessoa teve o mesmo problema, e no caso dela era porque o caminho do arquivo tinha ficado muito extenso no Windows.
Ela resolveu mudando o diretorio do wildfly.
Faz esse teste, renomeia a pasta do wildfly de wildfly-8.2.1.Final para apenas wildfly e mova ela para diretamente dentro do C:.
Daí o caminho do Wildfly vai ficar: C:\wildfly.
Meio bizarro isso, mas tente aí para ver se resolve.
O erro de pagina não encontrada continua, não informa nada relacionado ao serviço ao subir o servidor e ao tentar o Full Publish ocorre o erro:
Error renaming C:\wildfly\standalone\tmp\tmp450609480405516286.MF to C:\wildfly\standalone\deployments\estoquews-web.war\META-INF\MANIFEST.MF.
This may be caused by incorrect file permissions, or your server's temporary deploy directory may be on a different filesystem than the final destination.
You may adjust these settings in the server editor.
Oi Paulo,
Pois é, esse é um daqueles erros bizzaros que acontece do nada e não conseguimos resolver =/
O que eu recomendo é você excluir o Wildfly do Eclipse(meu superior: Window -> Preferences -> Server -> Runtime Environments)
Depois substituir o seu wildfly, baixando um novo do site(http://download.jboss.org/wildfly/8.2.1.Final/wildfly-8.2.1.Final.zip)
E então adicionar novamente o Wildfly no Eclipse, associar o projeto ao wildfly e testar novamente.
Já tinha feito isso, mas tentarei novamente.
Refiz o processo de geração das classes sem o -n e agora funcionou.