Kontaktní osoba:
Ing. Jiří Pinkas
Mobil: +420 774 912 047

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




comments powered by Disqus


Reference

" Co dodat? Byl to super kurz. Pěkné pochopitelné příklady k vybrané problematice. Rychlost školitele optimální, vše se dalo pěkně stíhat. Pokud účastníkk nevěděl nebo udělal chybu a nevěděl, tak školitel " podrobnosti ...

Michal

" S kurzem jsem byl maximálně spokojen. Na přednášejícím bylo vidět, že ví o čem mluví a dokázal zaujmout, i v případě neporozumění ochotně pomohl a danému člověku problém osvětlil. Rozhodně " podrobnosti ...

Josef

Embedit

" Java kurz byl pro mě velmi přínosný. Jiří je skvělý školitel, který dělá přesně to, co ho baví a na přístupu to bylo každý den velmi znát. Školení bych doporučil " podrobnosti ...

Filip


Novinky

Dvoudenní školení Docker

Školení Docker povyrostlo na dvoudenní školení. více ...

Nové datum vydání Java 9: 21.9.2017

Mark Reinhold aktualizoval datum GA (General Availability) Java 9 na 21.9.2017. více ...

Juergen Hoeller v Brně (jeden z autorů Spring frameworku)! 15.3.2017

15.3.2017, 18:00, Brno, Smetanova 19. Nutná rezervace místa! více ...

Bilance Java školení 2016

Co se mi (ne)povedlo v roce 2016 a plány na rok 2017 více ...

Oracle se prý v roce 2017 zaměří na vynucení Java licencí a pokutování zákazníků

Jak nedostat od Oracle pokutu za komerční použití Javy? více ...

Java DB (Derby) a Visual VM nebudou součástí Java JDK 9

Změny v Java JDK 9 více ...