| |||||||||||||||||||
Resin 3.1 Documentation Examples Changes Quercus Database Amber EJB SOA/ESB IoC JMS Servlet JMX Hessian Security Simple Service Configuring a service with JAXB An ESB client Flickr REST JAX-WS example |
This tutorial shows how to access services on the Resin Enterprise Service Bus (ESB) using J2EE injection. A servlet does frontend presentation for the results of an ESB service. Files in this tutorial
Service Interface and ConfigurationThe service used in this example is the same hello world service used in the simple service tutorial. The interface used by the frontend is shown below. package example; public interface HelloService { /** * Returns "hello, world". */ public String hello(); } Configuring the service is also the same as in the the simple service tutorial. <servlet-mapping url-pattern="/hello/*" servlet-class="example.HelloServiceImpl" jndi-name="service/HelloService"> <protocol type="hessian"/> </servlet-mapping> Frontend ClientThe client in this case is simply a servlet that uses J2EE injection to access the service. package example; import java.io.*; import javax.annotation.*; import javax.servlet.*; import javax.servlet.http.*; public class ServiceFrontendServlet extends HttpServlet { @Resource(name="hessian/HelloService") private HelloService _helloService; public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { PrintStream out = new PrintStream(resp.getOutputStream()); out.println("service result: " + _helloService.hello()); } } Configuring the client is nearly the same as in the the simple service tutorial, the only difference being adding the mapping for the servlet. <web-service-client jndi-name="hessian/HelloService"> <url>hessian:${webApp.url}/hello/</url> <interface>example.HelloService</interface> </web-service-client> <servlet servlet-name="service-frontend" servlet-class="example.ServiceFrontendServlet" /> <servlet-mapping url-pattern="/frontend/" servlet-name="service-frontend" />
|