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

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

S priebehom kurzu som bol nadmieru spokojný. Na kurze ma zaujali okrem klasickej teorie aj prakticke príklady ktoré boli podané s plnohodnotným vysvetlením. Myslím že v rámci školenia bol venovaný

František

Vazim si otvorenost lektora, ktory bol ochotny podelit sa o svoje dlhorocne znalosti a skusenosti v obore, pristup k studentom bol neformalny, co nakoniec vytvorilo vybornu atmosferu na pokladanie dotazou

Lukáš


Novinky

24.6.2018: Změny v licencování Oracle JDK
Od Java 11 (včetně) Oracle JDK bude zdarma pro vývoj a testování, ale ne pro produkční použití.

10.6.2018: Srovnání rychlosti mapovacích frameworků
Porovnání MapStruct, Dozer, Orika, ... z pohledu rychlosti

10.6.2018: JetBrains: State of Developer Ecosystem 2018
Statistika nuda NENÍ :-)