Boa Noite pessoal,
estou com uma dúvida estrutual no meu projeto. Tenho dois projetos
Projeto_1_Web (Ajax, Struts 2 , Spring 2.5 ,… que acessa um banco de dados)
E
Projeto_2 (Spring 2.5 e Apache CXF - WebServices)
Pois bem, eles funcionam bem , aí agora preciso usar o Projeto_2 (webService) para prover serviços existentes no Projeto_1.
Eu gerei um JAR do Projeto_1 (projeto_1.jar) e coloquei na lib do Projeto_2 , até aí tudo bem, compilou legal , mas na hora de consumir o serviço (através de uma classe client de teste) que existe no projeto_2 o meu projeto_2 dá pau.
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Fault occurred while processing.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
at $Proxy34.buscaCelular(Unknown Source)
at br.com.teste.client.Client.main(Client.java:28)
Caused by: org.apache.cxf.binding.soap.SoapFault: Fault occurred while processing.
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:75)
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:46)
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:99)
at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:700)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2261)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2134)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1988)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:639)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:487)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
... 2 more
Esse é o meu WebService propriamente dito
package br.com.webservice.impl;
import javax.jws.WebService;
import org.springframework.beans.factory.annotation.Autowired;
import br.com.service.FuncionarioService;
import br.com.vo.Funcionario;
import br.com.webservice.WSConsultaFuncionario;
@WebService(endpointInterface = "br.com.webservice.impl.WSConsultaFuncionario")
public class WSConsultaFuncionarioImpl implements WSConsultaFuncionario {
[b] private @Autowired FuncionarioService funcionarioService; //Service do projeto_1 (sendo utilizada por um jar)[/b]
[i]//Funciona OK[/i]
public String sayHi(String text) {
System.out.println("sayHi called");
return "Hello " + text;
}
[i]//Funciona OK[/i]
public Integer calculaSoma(Integer nr1, Integer nr2) {
System.out.println("calculaSoma called");
Integer retorno = nr1 + nr2;
return retorno;
}
[i]//Não funciona [/i]
public String buscaCelular(Short DDD, Integer nrCelular) {
System.out.println("buscaCelular called");
String nome = "Nao encontrado";
[b]Funcionario func = funcionarioService.getFuncionarioByCode(code);[/b]
if( func!=null ){
nome = func.getNmFuncionario();
}
return nome;
}
}
Será que posso usar um jar de um projeto usando Spring dentro de outro projeto usando Spring???
Agradeço pela ajuda
Att,
JJ