Boa Noite,
Estou desenvolvendo um web service utilizando o apache CXF com Spring.
Até ai tudo bem, consegui criar o Web Service acessei o WSDL…normal.
Porém quando faço cliente para consumir o serviço com a anotação @Autowired do Spring, ele não funciona.
Segue os códigos:
applicationClient.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<context:component-scan base-package="teste">
<context:include-filter type="annotation" expression="javax.jws.WebService" />
</context:component-scan>
<context:annotation-config />
<jaxws:client id="pessoaServiceCliente"
serviceClass="teste.PessoaService"
address="http://localhost:8081/TesteVraptor/personService"/>
</beans>
ClientePessoaService.java
package teste;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class ClientePessoaServiceTest {
// Quando eu uso assim, FUNCIONA!
// ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:applicationClient.xml");
// private PessoaService webService = (PessoaService)ac.getBean("pessoaServiceCliente");
@Autowired
private PessoaService pessoaServiceCliente;
public void testaServico() {
System.out.println("Método que chama o Web Service");
System.out.println(this.pessoaServiceCliente.greetPerson("Felipe"));
}
public static void main(String[] args) {
new ClientePessoaServiceTest().testaServico();
}
}
Abraços, Valeu!!