Services Web dans Java SE, Partie 2: Création de services Web SOAP – Gratuit : Audit complet de votre site internet

Avant de commencer !

La page Web d
Share on facebook
Share on twitter
Share on pinterest

JAX-WS prend en charge les services Web basés sur SOAP. La partie 2 de cette série en quatre parties sur les services Web Java SE définit un service Web de conversion d’unités basé sur SOAP, crée puis vérifie ce service Web localement via le serveur HTTP léger par défaut (décrit dans la partie 1), interprète le document WSDL du service et accède au service à partir d’un simple client.

Définition d’un service Web de conversion d’unités

Le service Web de conversion d’unités, que j’ai nommé UC, comprend quatre fonctions de conversion entre les centimètres et les pouces et entre les degrés Fahrenheit et les degrés Celsius. Bien que cet exemple puisse être architecturé comme une seule classe Java, j’ai choisi de suivre les meilleures pratiques en l’architectant comme une interface Java et une classe Java. Le listing 1 présente les services Web UC interface.

Liste 1. L’interface de point de terminaison de service du service Web UC

package ca.javajeff.uc;

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

@WebService
public interface UC
{
   @WebMethod double c2f(double degrees);
   @WebMethod double cm2in(double cm);
   @WebMethod double f2c(double degrees);
   @WebMethod double in2cm(double in);
}

UC décrit un Interface de point de terminaison de service (SEI), qui est une interface Java qui expose les opérations d’une interface de service Web en termes de méthodes Java abstraites. Les clients communiquent avec les services Web SOAP via leurs SEI.

UC est déclarée SEI via le @WebService annotation. Lorsqu’une interface ou une classe Java est annotée @WebService, tout public Les méthodes dont les paramètres, les valeurs de retour et les exceptions déclarées suivent les règles définies dans la section 5 de la spécification JAX-RPC 1.1 décrivent les opérations de service Web. Parce que seulement public Les méthodes peuvent être déclarées dans les interfaces, public le mot réservé n’est pas nécessaire lors de la déclaration c2f(), cm2in(), f2c(), et in2cm(). Ces méthodes sont implicitement public.

Chaque méthode est également annotée @WebMethod. Bien que @WebMethod n’est pas essentiel dans cet exemple, sa présence renforce le fait que la méthode annotée expose une opération de service Web.

Le listing 2 présente les services Web UCImpl classe.

Inscris-toi à notre newsletter !

Partage cet article avec tes amis !

Share on facebook
Share on google
Share on twitter
Share on linkedin