Printemps de Démarrage registre JAX-WS webservice de fèves

Dans mon printemps de démarrage ws en fonction de l'application, j'ai créé un jax-ws webservice à la suite d'un contrat première approche. Le service Web est en place mais je ne peux pas autowire mes autres haricots à l'intérieur de mon webservice.

Comment puis-je définir mon webservice au printemps de fèves?

Qui suit est mon webservice impl classe

@WebService(endpointInterface = "com.foo.bar.MyServicePortType")
@Service
public class MySoapService implements MyServicePortType {

@Autowired
private MyBean obj;


public Res method(final Req request) {
    System.out.println("\n\n\nCALLING.......\n\n" + obj.toString()); //obj is null here
    return new Res();
}
}

MyServicePortType est geneated par maven à partir du fichier wsdl

Quand j'ai appeler ce service (via SoapUi) il donne des NullPointerException comme le MyBean objet n'est pas autocâblés.

Depuis mon application est construite sur le Printemps de démarrage, il n'existe pas de fichier xml. Actuellement, j'ai sun-jaxws.xml fichier avec la configuration des ordinateurs d'extrémité. Comment puis-je faire à la suite de la configuration au printemps de démarrage de l'application

    <wss:binding url="/hello">
    <wss:service>
        <ws:service bean="#helloWs"/>
    </wss:service>
    </wss:binding>

Qui suit est mon SpringBootServletInitializer classe

@Configuration
public class WebXml extends SpringBootServletInitializer {

@Override
protected SpringApplicationBuilder configure(final SpringApplicationBuilder application) {
    return application.sources(WSApplication.class);
}

@Bean
public ServletRegistrationBean jaxws() {
    final ServletRegistrationBean jaxws = new ServletRegistrationBean(new WSServlet(), "/jaxws");
    return jaxws;
}

@Override
public void onStartup(final ServletContext servletContext) throws ServletException {
    super.onStartup(servletContext);
    servletContext.addListener(new WSServletContextListener());
}
}

grâce

À l'aide de CXF comme perfollowing github.com/vanioinformatika/spring-boot-cxf-integration-example a résolu le problème.

OriginalL'auteur amique | 2014-08-07