Как я могу получить доступ к ApplicationContext из веб-сервиса JAX-WS?

Чтобы обратиться к текущей записи, которая должна быть создана, попробуйте запустить before_create callback.

 before_create :inherit_user

и self.blocked_by теперь должны иметь значение.

9
задан Community 23 May 2017 в 12:19
поделиться

4 ответа

Я не думаю, что веб-сервису придется знать о сети или контекстах сервлета или его контексте приложения. Я не вижу, почему этому придется знать любое из этого. Разве это не должно быть намного более пассивно? Введите то, в чем это нуждается, и позвольте ему сделать свою работу. Сервисные взаимодействия с клиентом должны быть основаны на контракте, определенном впереди. Если это должно получить неизвестные значения от контекста некоторого вида, как клиенты будут знать, какие потребности быть установленным или как установить его?

Я пошел бы далее и сказал бы, что веб-сервис должен быть оберткой для сервисного интерфейса Spring. Это - просто еще один выбор среди всех возможных способов выставить его. Ваш веб-сервис должен сделать немного больше, чем маршал и не упорядочить объекты запроса/ответа XML и сотрудничать с сервисами Spring.

1
ответ дан 4 December 2019 в 21:12
поделиться

Я установил бы Фильтр, который сохраняет ServletContext прежде, чем объединить в цепочку в ThreadLocal

0
ответ дан 4 December 2019 в 21:12
поделиться

Сделайте так, чтобы ваш компонент веб-службы расширял компонент Spring.

например этот

1
ответ дан 4 December 2019 в 21:12
поделиться
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;


@WebService( 
    endpointInterface = "Bla", 
    targetNamespace = "http://bla/v001", 
    wsdlLocation = "WEB-INF/wsdl/bla.wsdl",    
    serviceName = "BlaService",
    portName = "BlaPort")
public class BlaWs extends SpringBeanAutowiringSupport implements BlaPort {

  @Autowired
  @Qualifier("dao") 
  private Dao dao;
  ...
}
8
ответ дан 4 December 2019 в 21:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: