JAX-WS: Serving Web Services SOAP

Today we will create a SOAP Web Service, based on LebrijoSchool project which we were making in early weeks over Oracle-Weblogic Architechture.

First of all is to add the Web Services facet. Right button > Properties … :

Add WS facet

After, we will create the class from a Spring Service class. Right button > New > WebLogic Web Service for Spring Beans:

Expose Spring as a WS

Choose the Service, and the methods that we want to publish as Web Service.

Finally put it in the logical package: lebrijo.school.webservices. And name it as “SchoolCertificatesWS”.

This is the code:

	@Autowired
	@Qualifier("RegistryService")
	private IRegistryService springServ;
 
	@WebMethod
	public Registry findRegistryById(java.lang.String id) throws Exception {
		return springServ.findRegistryById( id );
	}

We have a Weblogic client to test the WS, we can acces thru the URL http://localhost:7001/wls_utc/.

JAX-WS: Servir Web Services SOAP

Hoy crearemos un servicio web SOAP, basándonos en el proyecto LebrijoSchool que hemos venido haciendo sobre la arquitectura Oracle-Weblogic en artículos anteriores.

Lo primero es añadir el facet de Web Services. Botón derecho > Properties … :

Add WS facet

Después, creamos el WS a partir de una clase de servicio de Spring. Botón derecho > New > WebLogic Web Service for Spring Beans:

Expose Spring as a WS

Elegimos el servicio, y los métodos que queremos publicar publicar como WS.

Finalmente lo ponemos en el paquete adecuado: lebrijo.school.webservices. Y le damos un nombre “SchoolCertificatesWS”.

Nos queda un WS con este código:

	@Autowired
	@Qualifier("RegistryService")
	private IRegistryService springServ;
 
	@WebMethod
	public Registry findRegistryById(java.lang.String id) throws Exception {
		return springServ.findRegistryById( id );
	}

Para ver como funciona en WS tenemos un cliente en Weblogic, al que podemos acceder a través de la URL http://localhost:7001/wls_utc/.

JAX-WS: Hello World!!

Hoy vamos a crear un WS que diga Hola sobre Weblogic con su ditribución de Eclipse OEPE.
Creamos Nuevo proyecto > Web Service Project:

Create project

Hemos creado la siguiente clase:

package services;import javax.jws.*;
@WebService
public class Hello {
@WebMethod
    public String sayHello(String name) {
        return "Hello, "+name+".";
    }
}

Con estas dos anotaciones podemos servir el WS, con botón derecho sobre la clases y Run as > Run on Server. Con esto aparece la interfaz de test en el navegador del WS:

WS Test

Para acceder al WSDL: http://localhost:7001/wsc/HelloService?WSDL
Para hacer test de cualquier WSDL publicado: http://localhost:7001/wls_utc/begin.do