Frage

Ich möchte durch Speichern sie als Servletkontext Attribut ein Objekt zwischen meinem Servlets und meine Webservice (JAX-WS) teilen. Aber wie kann ich rufe Sie den Servlet-Kontext von einem Webdienst?

War es hilfreich?

Lösung

Der Servlet-Kontext wird von JAX-WS über den Nachrichtenkontext zur Verfügung gestellt, die den Web-Service-Kontext abgerufen werden können. Einsetzen des folgende Mitglied verursacht JAX-WS einen Verweis auf den Web-Service-Kontext in Ihren Web-Service zu injizieren:

import javax.annotation.Resource;
import javax.servlet.ServletContext;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;

...

@Resource
private WebServiceContext context;

Dann können Sie den Servlet-Kontext zugreifen mit:

ServletContext servletContext =
    (ServletContext) context.getMessageContext().get(MessageContext.SERVLET_CONTEXT);
scroll top