В руководствах Spring веб-сервис публикуется в locationUri "/ ws". Веб-служба getCountryRequest используется с использованием метода marshallSendAndReceive WebServiceTemplate со значением "http://localhost:8080/ws/countries".
При использовании soapUI я использую веб-сервис в "http://localhost:8080/ws/" и указываю имя веб-сервиса в теле SOAP.
Итак, как WebServiceTemplate точно использует суффикс «страны» и как он точно сопоставляется с сообщением с именем getCountryRequest?
Чтобы ответить на мой собственный вопрос: WSDL публикует веб-сервис на
<soap:address location="http://localhost:8080/ws"/>
Но MessageDispatcherServlet прослушивает "http://localhost:8080/ws/*". Поэтому все, что находится под этим URL, просто передается в SOAP и работает.
Я могу использовать http://localhost:8080/ws/ (мне все еще интересно, почему WebServiceTemplate не просто использует адрес WSDL SOAP), http://localhost:8080/ws/countries или http://localhost:8080/ws/anythingGoes. Это просто не имеет значения.