You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@xml.apache.org by du...@apache.org on 2001/05/17 23:44:44 UTC
cvs commit: xml-soap/java/docs/guide deploy.html
duftler 01/05/17 14:44:44
Modified: java/docs/guide deploy.html
Log:
Added documentation regarding DeploymentDescriptors.
Submitted by: Bill Nagy (nagy@watson.ibm.com)
Revision Changes Path
1.2 +87 -10 xml-soap/java/docs/guide/deploy.html
Index: deploy.html
===================================================================
RCS file: /home/cvs/xml-soap/java/docs/guide/deploy.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- deploy.html 2001/01/19 05:19:17 1.1
+++ deploy.html 2001/05/17 21:44:43 1.2
@@ -1,10 +1,87 @@
-<html>
-
-<body>
-
-<p><em>Explain how to write a deployment descriptor; include
-schema/dtd.</em></p>
-
-</body>
-
-<html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+<META name="GENERATOR" content="IBM WebSphere Homepage Builder V4.0.0 for Linux">
+<TITLE></TITLE>
+<LINK rel="stylesheet" href="ait.css">
+</HEAD>
+<BODY>
+<H2>The Apache SOAP Deployment Descriptor</H2>
+<P>Apache SOAP utilizes XML documents called
+"deployment descriptors" to provide
+information to the SOAP runtime about the
+services that should be made available to
+clients. They can provide a wide array of
+information such as the URN for the service
+(which is used to route the request when
+it comes in), method and class details if
+the service is being provided by a Java class,
+or the name of a script if the service is
+implemented in any of the BSF supported scripting
+languages. The exact contents of the deployment
+descriptor depend upon the type of artifact
+which is being exposed via SOAP. Below you
+will find details about the different types
+of deployment descriptors which may be used
+in this release.</P>
+<H3>Standard Java Class Deployment Descriptor</H3>
+<P>A deployment descriptor which exposes a service
+which is implemented via a standard Java
+class (including a normal Java Bean) looks
+like the following:</P>
+<PRE><isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
+ id="urn:<I><STRONG>service-urn</STRONG></I>" [type="message"]><BR> <isd:provider type="java"<BR> scope="Request | Session | Application"<BR> methods="<I><STRONG>exposed-methods</STRONG></I>"><BR> <isd:java class="<I><STRONG>implementing-class</STRONG></I>" [static="true|false"]/><BR> </isd:provider><BR> <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener><BR></isd:service></PRE>
+<P>Where <I><STRONG>service-urn</STRONG></I> is the URN that you want to give to a service,
+<I><STRONG>exposed-methods</STRONG></I> is a space separated list of methods which
+you wish to expose, and <I><STRONG>implementing-class</STRONG></I> is fully qualified class name (i.e. packagename.classname)
+that provides the methods which are being
+exposed. On the <service> element,
+there is an optional attribute called <I>type</I> which may be set to the value "message"
+if the service is document-oriented instead
+of being an RPC invoked service. On the <java>
+element, there is an optional attribute called
+<I>static</I>, which may be set to either "true"
+or "false", depending upon whether
+or not the methods which are being exposed
+are static or not. The <provider> element
+also takes a <I>scope</I> attribute which indicates the lifetime of
+the instantiation of the implementing class.
+"Request" indicates that the object
+will be removed after this request has completed,
+"Session" indicates that the object
+will last for the current lifetime of the
+HTTP session, and Application indicates that
+the object will last until the servlet which
+is servicing the requests is terminated.</P>
+<H3>EJB Deployment Descriptor</H3>
+<P>A deployment descriptor which exposes a service
+which is implemented via an Enterprise Java
+Bean looks like the following:</P>
+<PRE><isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"<BR> id="urn:<I><STRONG>service-urn</STRONG></I>"><BR> <isd:provider type="<I><STRONG>provider-class</STRONG></I>"<BR> scope="Application"<BR> methods="<I><STRONG>exposed-methods</STRONG></I>"><BR> <isd:option key="JNDIName" value="<I><B>jndi-name</B></I>"/><BR> <isd:option key="FullHomeInterfaceName" value="<I><STRONG>home-name</STRONG></I>" /><BR> <isd:option key="ContextProviderURL" value="<I><B>context-provider</B></I>" /><BR> <isd:option key="FullContextFactoryName" value="<B><I>factory-name</I></B>" /><BR> </isd:provider><BR> <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener><BR></isd:service></PRE>
+<P>Where <I><STRONG>service-urn</STRONG></I> and <I><STRONG>exposed-methods</STRONG></I> have the same meaning as in the standard
+Java class deployment descriptor, <I><STRONG>provider-class</STRONG></I> is either org.apache.soap.providers.StatelessEJBProvider,
+org.apache.soap.providers.StatefulEJBProvider,
+or org.apache.soap.providers.EntityEJBProvider,
+depending on whether or not the implementation
+is a stateless session bean, a stateful session
+bean, or an entity bean, repspectively, <I><STRONG>jndi-name</STRONG></I> is the registered JNDI name of the EJB,
+<I><STRONG>home-name</STRONG></I> is the fully qualified class name of the
+EJB's home, <B><I>context-provider</I></B> is the URL associated with the JNDI context
+provider, and <B><I>factory-name</I></B> is the name of the JNDI context factory.
+For backwards compatability, the <I><B>jndi-name</B></I> may also be specified in the <I>class</I> attribute of the <java> element. </P>
+<H3>BSF Script Deployment Descriptor</H3>
+<P>A deployment descriptor which exposes a service
+which is implemented via a BSF Script looks
+like the following:</P>
+<PRE><isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"<BR> id="urn:<I><STRONG>service-urn</STRONG></I>"><BR> <isd:provider type="script"<BR> scope="Request | Session | Application" <BR> methods="<I><STRONG>exposed-methods</STRONG></I>"><BR> <isd:script language="<I><STRONG>language-name</STRONG></I>" [source="<I><STRONG>source-filename</STRONG></I>"]><BR> [<I><STRONG>script-body</STRONG></I>]<BR> </isd:script><BR> </isd:provider><BR> <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener><BR></isd:service></PRE>
+<P>Where <I><STRONG>service-urn</STRONG></I>, <I><STRONG>exposed-methods</STRONG></I>, and <I>scope</I> have the same meaning as in the standard
+Java class deployment descriptor, and <I><STRONG>language-name</STRONG></I> is the name of the BSF-supported language
+that the script was written in. The deployment
+descriptor must also have either a <I>source</I> attribute on the <script> element,
+or contain a <I><STRONG>script-body</STRONG></I>, which<STRONG> </STRONG>has<STRONG> </STRONG>the actual script which will be used to provide
+the service. If the deployment descriptor
+has the <I>source</I> attribute, then <I><STRONG>source-filename</STRONG></I> refers to the file which contains the service
+implementation.</P>
+<P>Last updated 5/17/2001 by Bill Nagy <<A href="mailto:nagy@watson.ibm.com">nagy@watson.ibm.com</A>>.</P>
+</BODY>
+</HTML>