The WebserviceContext interface is part of the JAX-WS specification. It allows you to access several context informations the runtime has associated to your service call.
The following code fragment show how to use some parts of the WebserviceContext.
import javax.xml.ws.WebServiceContext; public class CustomerServiceImpl implements CustomerService { @Resource WebServiceContext wsContext; public List<Customer> getCustomersByName(String name) throws NoSuchCustomerException { Principal pr = wsContext.getUserPrincipal(); // Only joe may access this service operation if (pr == null || !"joe".equals(pr.getName())) { throw new RuntimeException("Access denied"); } // Only the sales role may access this operation if (!wsContext.isUserInRole("sales")) { throw new RuntimeException("Access denied"); } MessageContext mContext = wsContext.getMessageContext(); // See which contents the message context has Set<String> s = mContext.keySet(); // Using this cxf specific code you can access the CXF Message and Exchange objects WrappedMessageContext wmc = (WrappedMessageContext)mContext; Message m = wmc.getWrappedMessage(); Exchange ex = m.getExchange(); } }