| ============================================================ |
| CONTENTS OF THIS DOCUMENT: |
| |
| o) HOW TO PROVIDE XSL TRANSFORMATIONS AS A WEB SERVICE |
| o) HOW TO INVOKE TRANSLETS FROM AN ENTERPRISE JAVA BEAN |
| |
| ------------------------------------------------------------ |
| HOW TO PROVIDE XSL TRANSFORMATIONS AS A WEB SERVICE |
| |
| With XSLTC, XSL transformations can be run from within a |
| an Enterprise Java Bean (EJB) and exported through a servlet. |
| This sample code demonstrates how that can be implemented. |
| |
| The CompiledServlet and CompiledBrazil sample code |
| demonstrates other aproaches to providing XSL transformations |
| as a web service. |
| |
| ------------------------------------------------------------ |
| HOW TO INVOKE TRANSLETS FROM AN ENTERPRISE JAVA BEAN |
| |
| o) Create an EJB that implements SessionBean and has a |
| single transform() entry point: |
| |
| public class TransformBean implements SessionBean { |
| public String transform(String document, String transletName) { |
| // instanciate translet |
| // build internal DOM |
| // run transformation |
| : |
| : |
| } |
| : |
| : |
| } |
| |
| o) Create this EJB's remote interface (this is the interface |
| your servlet will use to call the bean's entry point): |
| |
| public interface TransformRemote extends EJBObject { |
| public String transform(String document, String transletName) |
| throws RemoteException; |
| } |
| |
| o) Create the EJB's home interface, which your servlet |
| will use to instanciate the remote interface: |
| |
| public interface TransformHome extends EJBHome { |
| TransformRemote create() |
| throws CreateException, RemoteException; |
| } |
| |
| o) Create a servlet that uses the EJB's home interface to |
| create a remote interface to the EJB, and then calls |
| the EJB's transform() method through that remote |
| interface: |
| |
| public class TransformServlet extends HttpServlet { |
| |
| public void init(ServletConfig config) { |
| // look up the EJB's home interface using JNDI |
| } |
| |
| public void doGet (HttpServletRequest request, |
| HttpServletResponse response) |
| throws ServletException, IOException { |
| // create the remote interface |
| // pass the parameters from teh request to the EJB |
| // display results passed back from EJB |
| } |
| } |
| |
| o) Set up your J2EE_CLASSPATH to include JAXP and the XSLTC |
| runtime jars. |
| |
| o) Compile your XSL stylesheets and place them either in |
| your J2EE_CLASSPATH or wrap them in your EJB jar. |
| |
| o) Deploy your EJB |
| |
| o) Call the servlet with the necessary parameters (at least |
| an URI to the source XML document and the name of the |
| translet class). |
| |
| ------------------------------------------------------------ |
| END OF README |