Мое приложение вызывает внешний Soap WS с использованием SpringSWS WebServiceTemplate, который я издеваюсь над своими тестами с помощью MockWebServiceServer.Как тестировать заголовок SOAPAction с помощью теста Spring WS
Он отлично работает, чтобы имитировать отклик в зависимости от полезной нагрузки запроса.
Но теперь я хочу проверить, какое действие SOAP вызывается. Он должен быть определен в HTTP-заголовке «SOAPAction» запроса.
Я использую Spring-WS 2.1.4.
Кто-нибудь знает, можно ли это проверить и как?
Вот мой тестовый класс:
public class MyWebServiceTest {
@Autowired
private WebServiceTemplate webServiceTemplate;
private MockWebServiceServer mockServer;
@Before
public void createServer() throws Exception {
mockServer = MockWebServiceServer.createServer(webServiceTemplate);
}
@Test
public void callStambiaWithExistingFileShouldSuccess() throws IOException {
Resource requestPayload = new ClassPathResource("request-payload.xml");
Resource responseSoapEnvelope = new ClassPathResource("success-response-soap-envoloppe.xml");
mockServer.expect(payload(requestPayload)).andRespond(withSoapEnvelope(responseSoapEnvelope));
//init job
//myService call the webservice via WebServiceTemplate
myService.executeJob(job);
mockServer.verify();
//some asserts
}
}
Так что я хочу, чтобы проверить это действие мыла называется. Так что я хочу что-то вроде этого в моем тестовом классе:
mockServer.expect(....withSoapAction("calledSoapAction")).andRespond(...
Можете ли вы объяснить немного больше ваш тестовый сценарий? – VirtualTroll
Я добавил немного фрагмента, надеюсь, это станет более ясным. – Matt