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/21 22:19:34 UTC
cvs commit: xml-soap/java/docs/guide config.html deploy.html msgclient.html provider.html rpcclient.html serializer.html transhooks.html
duftler 01/05/21 13:19:34
Modified: java/docs/guide config.html deploy.html msgclient.html
provider.html rpcclient.html serializer.html
transhooks.html
Log:
More docs from Bill.
Submitted by: Bill Nagy (nagy@watson.ibm.com)
Reviewed by: Matthew J. Duftler (duftler@us.ibm.com)
Revision Changes Path
1.4 +7 -7 xml-soap/java/docs/guide/config.html
Index: config.html
===================================================================
RCS file: /home/cvs/xml-soap/java/docs/guide/config.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- config.html 2001/05/21 16:51:17 1.3
+++ config.html 2001/05/21 20:19:06 1.4
@@ -11,7 +11,7 @@
<h3> Configuration File </h3>
<P>Configuration information may be passed to
the Apache SOAP server via an XML-based configuration
-flie. By default, the server will look in
+file. By default, the server will look in
the current working directory for a file
called "soap.xml." If a different
file is to be used, the default path and
@@ -124,7 +124,7 @@
<b>The methods:</b>
<blockquote><p>
<code><b>void setOptions(Hashtable options) throws SOAPException</b></code><br>
-This method will be called with a Hasbtable
+This method will be called with a Hashtable
of name/value pairs that were specified via
the <option> elements in the configuration
file. In the event of an error a SOAPException
@@ -132,11 +132,11 @@
<blockquote><p>
<code><b>void init() throws SOAPException</b></code><br>
- This method will be called after the ConfigManager object is created,
- allowing any initializion to be done. For example, reading the
- DeployedServices.ds file. In the event of an error a SOAPException
- should be thrown.
- </blockquote><p>
+This method will be called after the ConfigManager
+object is created, allowing any initialization
+to be done. For example, reading the DeployedServices.ds
+file. In the event of an error a SOAPException
+should be thrown.</blockquote><p>
<blockquote><p>
<code><b>void deploy(DeploymentDescriptor dd) throws SOAPException</b></code><br>
1.5 +2 -2 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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- deploy.html 2001/05/21 16:51:19 1.4
+++ deploy.html 2001/05/21 20:19:08 1.5
@@ -66,11 +66,11 @@
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,
+bean, or an entity bean, respectively, <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>
+For backwards compatibility, 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
1.3 +4 -7 xml-soap/java/docs/guide/msgclient.html
Index: msgclient.html
===================================================================
RCS file: /home/cvs/xml-soap/java/docs/guide/msgclient.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- msgclient.html 2001/05/21 16:51:25 1.2
+++ msgclient.html 2001/05/21 20:19:10 1.3
@@ -76,14 +76,11 @@
<LI><B>If your service is returning data, and assuming
that the transport supports two-way interaction,
- then you need to retreive the SOAPTransport
+ then you need to retrieve the SOAPTransport
object from the Message object (assuming
- that you don't already have a handle to
- it)
- by using the getSOAPTransport() method.
- You
- can then invoke the receive() method on
- the
+ that you don't already have a handle to it)
+ by using the getSOAPTransport() method. You
+ can then invoke the receive() method on the
SOAPTransport object to retrieve the returned
data.</B><BR>
If the service is returning a SOAP Envelope,
1.5 +1 -1 xml-soap/java/docs/guide/provider.html
Index: provider.html
===================================================================
RCS file: /home/cvs/xml-soap/java/docs/guide/provider.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- provider.html 2001/05/21 16:51:26 1.4
+++ provider.html 2001/05/21 20:19:11 1.5
@@ -108,7 +108,7 @@
After a successful call to <code>locate</code> the SOAP engine will then execute the <code>invoke</code> method to actually call the service implementation.
Notice that the <code>invoke</code> call does not have any information about
the service. All of that information was
-passed into the <code>locate</code> method, so it is the responsibilty of <code>locate</code> to save whatever information is needed so that
+passed into the <code>locate</code> method, so it is the responsibility of <code>locate</code> to save whatever information is needed so that
<code>invoke</code> can call the service.
<p> The <code>invoke</code> method is also responsible for converting
any response from the service implementation
1.3 +9 -6 xml-soap/java/docs/guide/rpcclient.html
Index: rpcclient.html
===================================================================
RCS file: /home/cvs/xml-soap/java/docs/guide/rpcclient.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- rpcclient.html 2001/05/21 16:51:28 1.2
+++ rpcclient.html 2001/05/21 20:19:13 1.3
@@ -11,7 +11,7 @@
services is fairly straightforward. Apache
SOAP provides a client-side API to assist
in the construction of the SOAP request,
-and then to assist in interpretting the response.
+and then to assist in interpreting the response.
Conceptually, RPC-based service are relatively
easy to understand, because the concepts
involved are those which may be found in
@@ -121,11 +121,14 @@
existing HTTP SOAP infrastructure and sends the response back to
the sender of the email request via SMTP.</p>
-<p>On the client side, the application sends the SOAP request via
-SMTP to the SOAP router email address indicating the address that
-the response should be sent to. Then, it starts polling a POP3
-server to see whether the response has arrived. When it does, the
-envelope is parsed and the respose is extracted. We are using a <a
+<p>On the client side, the application sends
+the SOAP request via SMTP to the SOAP router
+email address indicating the address that
+the response should be sent to. Then, it
+starts polling a POP3 server to see whether
+the response has arrived. When it does, the
+envelope is parsed and the response is extracted.
+We are using a <a
href="http://www.alphaworks.ibm.com/aw.nsf/frame?ReadForm&/ab.nsf/techmain/AD8820E9114E5B4488256723000AC87A">POP3
bean from alphaWorks</a> for the POP3 stuff and that bean does
not support selective downloading of email. As a result, the
1.5 +1 -1 xml-soap/java/docs/guide/serializer.html
Index: serializer.html
===================================================================
RCS file: /home/cvs/xml-soap/java/docs/guide/serializer.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- serializer.html 2001/05/21 20:14:07 1.4
+++ serializer.html 2001/05/21 20:19:16 1.5
@@ -145,7 +145,7 @@
<P>If you need to create a new serializer/deserializer,
then looking at the source code for the predefined
ones will probably provide you with the best
-guidence. Remember that they will need to
+guidance. Remember that they will need to
implement org.apache.soap.util.xml.Serializer
and org.apache.soap.util.xml.Deserializer
respectively. You can implement them both
1.2 +68 -6 xml-soap/java/docs/guide/transhooks.html
Index: transhooks.html
===================================================================
RCS file: /home/cvs/xml-soap/java/docs/guide/transhooks.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- transhooks.html 2001/02/05 18:25:35 1.1
+++ transhooks.html 2001/05/21 20:19:18 1.2
@@ -1,9 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
-
-<body>
-
-<p><em>Explain how to work with transport hooks.</em></p>
-
+<HEAD>
+<META name="GENERATOR" content="IBM WebSphere Homepage Builder V4.0.0 for Linux">
+<TITLE>Using Transport Hooks</TITLE>
+</HEAD>
+<BODY bgcolor="#ffffff">
+<H2 align="center">Using Transport Hooks</H2>
+<P>Some extensions to the Apache SOAP framework
+necessitate the ability to interact with
+the SOAP envelope just after it comes off
+of the wire, or just before a response goes
+out. To facilitate this type of interaction,
+Apache SOAP provide the ability to insert
+pluggable transport extensions into the runtime.
+The current instantiation of these transport
+extensions in the Apache SOAP framework are
+known as Envelope Editors.</P>
+<H3>Using Envelope Editors on the Server</H3>
+<P>To enable the transport extensions on the
+server, you need to define a system property
+called org.apache.soap.TransportHookExtension
+(i.e. java -Dorg.apache.soap.TransportHookExtension=1).
+You also need to set an init-parameter called
+<I>EnvelopeEditorFactory</I> in the configuration files for the RPCRouter
+and MessageRouter servlets. The value of
+this parameter should be the fully qualified
+classname of a Java class which implements
+org.apache.soap.transport.EnvelopeEditorFactory.</P>
+<H3>Using Envelope Editors on the Client</H3>
+<P>To use your envelope editor on the client
+side you need to instantiate an instance
+of your Envelope Editor, and then create
+an instance of org.apache.soap.transport.FilterTransport
+passing it the Envelope Editor object, and
+an instance of the object which represents
+whatever transport you are communicating
+over (i.e. org.apache.soap.transport.http.SOAPHTTPConnection).
+You then need to invoke org.apache.soap.rpc.Call.setSOAPTransport(...)
+or org.apache.soap.messaging.Message.setSOAPTransport(...),
+depending upon whether you are invoking an
+RPC-based service or a message-oriented service,
+respectively, passing it your FilterTransport
+instance.</P>
+<H3>Creating an Envelope Editor</H3>
+<P>To create an Envelope Editor, you must first
+create an Envelope Editor Factory by implementing
+the org.apache.soap.transport.EnvelopeEditorFactory
+interface:</P>
+<PRE>public interface EnvelopeEditorFactory
+{<BR> public EnvelopeEditor create(Properties props) throws SOAPException;<BR>}</PRE>
+<P>The create method takes in a java.util.Properties
+object which contains properties which, in
+the case of the HTTP servlets, were passed
+in from the servlet init-parameters.</P>
+<P>To create an Envelope Editor, you need to
+implement the org.apache.soap.transport.EnvelopeEditor
+interface:</P>
+<PRE>public interface EnvelopeEditor
+{<BR> public void editIncoming(Reader in, Writer out) throws SOAPException;<BR> public void editOutgoing(Reader in, Writer out) throws SOAPException;<BR>}</PRE>
+<P>The two methods are the routines which are
+called when an incoming message is received
+and when an outgoing message is ready to
+be sent, respectively.</P>
+<P>The class org.apache.soap.transport.EnvelopeEditorAdapter
+contains a sample Envelope Editor.</P>
+<P>Last updated 5/21/2001 by Bill Nagy <<A href="mailto:nagy@watson.ibm.com">nagy@watson.ibm.com</A>>.</P>
</body>
-<html>
+
+</HTML>