Spring Web Services Framework

Class MockWebServiceClient

  extended by org.springframework.ws.test.server.MockWebServiceClient

public class MockWebServiceClient
extends Object

Main entry point for server-side Web service testing. Typically used to test a MessageDispatcher (including its endpoints, mappings, etc) by creating request messages, and setting up expectations about response messages.

The typical usage of this class is:

  1. Create a MockWebServiceClient instance by using createClient(ApplicationContext) or createClient(WebServiceMessageReceiver, WebServiceMessageFactory)
  2. Send request messages by calling sendRequest(RequestCreator), possibly by using the default RequestCreator implementations provided in RequestCreators (which can be statically imported).
  3. Set up response expectations by calling andExpect(ResponseMatcher), possibly by using the default ResponseMatcher implementations provided in ResponseMatchers (which can be statically imported). Multiple expectations can be set up by chaining andExpect() calls.
Note that because of the 'fluent' API offered by this class (and related classes), you can typically use the Code Completion features (i.e. ctrl-space) in your IDE to set up the mocks.

For example:

 import org.junit.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationContext;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.xml.transform.StringSource;
 import org.springframework.ws.test.server.MockWebServiceClient;
 import static org.springframework.ws.test.server.RequestCreators.*;
 import static org.springframework.ws.test.server.ResponseMatchers.*;
 public class MyWebServiceIntegrationTest {

   // a standard MessageDispatcherServlet application context, containing endpoints, mappings, etc.
   private ApplicationContext applicationContext;

   private MockWebServiceClient mockClient;

   public void createClient() throws Exception {
     mockClient = MockWebServiceClient.createClient(applicationContext);

   // test the CustomerCountEndpoint, which is wired up in the application context above
   // and handles <customerCount/> messages
   public void customerCountEndpoint() throws Exception {
     Source requestPayload = new StringSource(
       "<customerCountRequest xmlns='http://springframework.org/spring-ws'>" +
       "<customerName>John Doe</customerName>" +
     Source expectedResponsePayload = new StringSource(
       "<customerCountResponse xmlns='http://springframework.org/spring-ws'>" +
       "<customerCount>42</customerCount>" +


Arjen Poutsma, Lukas Krecan

Method Summary
static MockWebServiceClient createClient(ApplicationContext applicationContext)
          Creates a MockWebServiceClient instance based on the given ApplicationContext.
static MockWebServiceClient createClient(WebServiceMessageReceiver messageReceiver, WebServiceMessageFactory messageFactory)
          Creates a MockWebServiceClient instance based on the given WebServiceMessageReceiver and WebServiceMessageFactory.
 ResponseActions sendRequest(RequestCreator requestCreator)
          Sends a request message by using the given RequestCreator.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Method Detail


public static MockWebServiceClient createClient(WebServiceMessageReceiver messageReceiver,
                                                WebServiceMessageFactory messageFactory)
Creates a MockWebServiceClient instance based on the given WebServiceMessageReceiver and WebServiceMessageFactory.

messageReceiver - the message receiver, typically a SoapMessageDispatcher
messageFactory - the message factory
the created client


public static MockWebServiceClient createClient(ApplicationContext applicationContext)
Creates a MockWebServiceClient instance based on the given ApplicationContext. This factory method works in a similar fashion as the standard MessageDispatcherServlet. That is:

applicationContext - the application context to base the client on
the created client


public ResponseActions sendRequest(RequestCreator requestCreator)
Sends a request message by using the given RequestCreator. Typically called by using the default request creators provided by RequestCreators.

requestCreator - the request creator
the response actions
See Also:

Spring Web Services Framework

Copyright © 2005-2013 The Spring Web Services Framework. All Rights Reserved.