diff --git a/src/docbkx/tutorial.xml b/src/docbkx/tutorial.xml index 8d994e4e..608933e8 100644 --- a/src/docbkx/tutorial.xml +++ b/src/docbkx/tutorial.xml @@ -480,10 +480,10 @@ This command will create a new directory called holidayService. In this directory, - there is a src/main/webapp directory, which will contain the root of the WAR file. - You will find the standard web application deployment descriptor WEB-INF/web.xml here, - which defines a Spring-WS MessageDispatcherServlet and maps all incoming requests - to this servlet: + there is a 'src/main/webapp' directory, which will contain the root of the WAR file. + You will find the standard web application deployment descriptor 'WEB-INF/web.xml' + here, which defines a Spring-WS MessageDispatcherServlet and maps all incoming + requests to this servlet: MyCompany HR Holiday Service + ]]><!-- take especial notice of the name of this servlet --> - spring-ws + ]]>spring-ws org.springframework.ws.transport.http.MessageDispatcherServlet @@ -506,23 +507,29 @@ ]]> - (We could have made the servlet more restrictive by using the url pattern /humanresources, - but this will suffice for now.) + In addition to the above 'WEB-INF/web.xml' file, you will also need another, + Spring-WS-specific configuration file, named 'WEB-INF/spring-ws-servlet.xml'. + This file contains all of the Spring-WS-specific beans such as EndPoints, + WebServiceMessageReceivers, and suchlike, and is used to create a new Spring container. + The name of this file is derived from the name of the attendant servlet (in this case + 'spring-ws') with '-servlet.xml' appended to it. So if you defined a + MessageDispatcherServlet with the name 'dynamite', the name of the + Spring-WS-specific configuration file would be 'WEB-INF/dynamite-servlet.xml'. - Additionally, there is WEB-INF/spring-ws-servlet.xml, which is the Spring application - context configuration file that will contain the Spring-WS bean definitions. + (You can see the contents of the 'WEB-INF/spring-ws-servlet.xml' file for this + example beginning here.)
Implementing the Endpoint - In Spring-WS, you will implement Endpoints to handle incoming XML messages. There - are two flavors of endpoints: message endpoints and - payload endpoints.. - Message endpoints give access to the entire XML message, including SOAP headers. Typically, the - endpoint will only be interested in the payload of the message, that is the contents - of the SOAP body. In that case, creating a payload endpoint makes more sense. + In Spring-WS, you will implement Endpoints to handle incoming XML messages. + There are two flavors of endpoints: message endpoints and + payload endpoints.. Message endpoints + give access to the entire XML message, including SOAP headers. Typically, the endpoint will only be + interested in the payload of the message, that is the contents of the SOAP body. + In that case, creating a payload endpoint makes more sense.
Handling the XML Message @@ -654,9 +661,10 @@ public class HolidayEndpoint extends AbstractJDomPayloadEndpoint { ]]> Here is how we would configure these classes in our spring-ws-servlet.xml - application context configuration file: + Spring XML configuration file: - +