JAX-WS & Spring framework

publikováno: 20.8.2013

Jak integrovat webovou službu naprogramovanou pomocí JAX-WS se Springem?

/WEB-INF/applicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:ws="http://jax-ws.dev.java.net/spring/core"
    xmlns:wss="http://jax-ws.dev.java.net/spring/servlet" 
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://jax-ws.dev.java.net/spring/servlet http://jax-ws.java.net/spring/servlet.xsd
        http://jax-ws.dev.java.net/spring/core http://jax-ws.java.net/spring/core.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">

    <context:component-scan base-package="cz.java.skoleni" />

    <wss:binding url="/testws">
        <wss:service>
            <ws:service bean="#testWs" />
        </wss:service>
    </wss:binding>

</beans>

 

/WEB-INF/web.xml:

    <!-- this is for Spring -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- these are for JAX-WS -->
    <servlet>
        <servlet-name>jaxws-servlet</servlet-name>
        <servlet-class>com.sun.xml.ws.transport.http.servlet.WSSpringServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>jaxws-servlet</servlet-name>
        <url-pattern>/testws</url-pattern>
    </servlet-mapping>

 

cz.java.skoleni.ws.TestWs.java:

package cz.java.skoleni.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@WebService
@Service
public class TestWs {

    // Autowired funguje jako obvykle, MyService je trida s anotaci @Service
    @Autowired
    private MyService myService;

    @WebMethod
    public String sayHello() {
        return myService.hello();
    }

}

 

  • Výsledná webová služba je zde: http://localhost:8080/nazev-aplikace/testws
  • WSDL je zde: http://localhost:8080/nazev-aplikace/testws?wsdl

Předchozí:
Spring Framework 3.2.4
Následující:
IntelliJ Idea zdarma
Reference

Splnilo to mé očekávání si zopakovat základy Spring framework. Je vidět že školení je dobře připravené, že tomu co školíte rozumíte, že vás to baví, vysvětlíte principy a je dobře

Petr

Podavane informace byly aktualni, byly vysvetlene i souvislosti, hlavne na uvod byl dobre vysvetlen kontext probiraneho tematu, teda co je co a jaky to ma vyznam. Navic bylo cele skoleni podporeno

Petr

Líbily se mi "informační odskoky" k jiným knihovnám (např. Lombok), pro lidi zakonzervované 100 let na jednom projektu osvěžující.

Vojtěch


Novinky

20.2.2019: JIB 1.0

20.2.2019: Amazon Corretto 11
Amazon Corretto 11 je venku!

7.2.2019: Docker + Raspberry Pi + Java
Jak použít OpenJDK 11+ na Raspberry Pi s Dockerem