diff --git a/src/docbkx/client.xml b/src/docbkx/client.xml
index 517c7289..9cbd4f74 100644
--- a/src/docbkx/client.xml
+++ b/src/docbkx/client.xml
@@ -151,8 +151,8 @@
uri parameter to a mailto URI. Here are some URI
examples: mailto:john@example.com, and
mailto:server@localhost?subject=SOAP%20Test. Make sure that the message sender is
- properly configured with a transportUri, which indicates the server to
- send requests (typically a SMTP server), and a storeUri, which indicates
+ properly configured with a transportUri, which indicates the server to use for
+ sending requests (typically a SMTP server), and a storeUri, which indicates
the server to poll for responses (typically a POP3 or IMAP server).
diff --git a/src/docbkx/server.xml b/src/docbkx/server.xml
index 4237f9e5..9a786480 100644
--- a/src/docbkx/server.xml
+++ b/src/docbkx/server.xml
@@ -1,6 +1,6 @@
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
Creating a Web service with Spring-WS
@@ -42,10 +42,10 @@
following sequence diagram.
-
+
-
+
The request processing workflow in Spring Web Services
@@ -282,9 +282,10 @@
Spring Web Services supports server-side JMS handling through the JMS functionality provided in the
Spring framework. Spring Web Services provides the WebServiceMessageListener
- to plug in to a MessageListenerContainer. The following piece of configuration
- shows this:
-
+ to plug in to a MessageListenerContainer. This message listener requires a
+ WebServiceMessageFactory to and
+ MessageDispatcher to operate. The following piece of configuration
+ shows this:
@@ -322,6 +323,66 @@
Javadocs of the WebServiceMessageDrivenBean.
+
+ Email transport
+
+ In addition to HTTP and JMS, Spring Web Services also provides server-side email handling. This
+ functionality is provided through the MailMessageReceiver class. This class
+ monitors a POP3 or IMAP folder, converts the email to a WebServiceMessage,
+ sends any response using SMTP. The host names can be configured through the
+ storeUri, which indicates the mail folder to monitor for requests (typically a POP3 or IMAP folder),
+ and a transportUri, which indicates the server to use for sending responses (typically a SMTP server).
+
+
+ How the MailMessageReceiver monitors incoming messages can be configured with
+ a pluggable strategy: the MonitoringStrategy. By default, a polling
+ strategy is used, where the incoming folder is polled for new messages every five minutes. This interval
+ can be changed by setting the pollingInterval property on the strategy.
+ By default, all MonitoringStrategy implementations delete the handled
+ messages; this can be changed by setting the deleteMessages property.
+
+
+ As an alternative to the polling approaches, which are quite inefficient, there is a monitoring strategy
+ that uses IMAP IDLE. The IDLE command is an optional
+ expansion of the IMAP email protocol that allows the mail server to send new message updates to the
+ MailMessageReceiver asynchronously. If you use a IMAP server that supports the
+ IDLE command, you can plug in the ImapIdleMonitoringStrategy
+ into the monitoringStrategy property.
+ In addition to a supporting server, you will need to use JavaMail version 1.4.1 or higher.
+
+
+ The following piece of configuration shows how to use the server-side email support, overiding the
+ default polling interval to a value which checks every 30 seconds
+ (30.000 milliseconds):
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]]>
+
+
Endpoints
@@ -399,7 +460,7 @@ public class SampleEndpoint extends AbstractDomPayloadEndpoint {
]]>
The above class and the declaration in the application context are all you need besides setting up an
- endpoint mapping (see the section entitled ) to get this very
+ endpoint mapping (see the section entitled ) to get this very
simple endpoint working. The SOAP message handled by this endpoint will look something like: