@WebService public class MyService { @Resource WebServiceContext wsContext; /** * Web service operation */ @WebMethod public String myMethod() { MessageContext mc = wsContext.getMessageContext(); HttpServletRequest req = (HttpServletRequest)mc.get(MessageContext.SERVLET_REQUEST); System.out.println("Client IP = " + req.getRemoteAddr()); } }
@WebService() public class ListProducts { @Resource WebServiceContext context; @WebMethod(operationName = "listProducts") public String listProducts() { return context.getUserPrincipal().toString(); } }
@WebMethod(operationName = "ExportDataToCSV", action = "urn:org:miloss:fgsms:services:interfaces:reportingService/reportingService/ExportDataToCSV") @WebResult(name = "ExportDataToCSVResult", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:reportingService") @RequestWrapper(localName = "ExportDataToCSV", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:reportingService", className = "org.miloss.fgsms.services.interfaces.reportingservice.ExportDataToCSV") @ResponseWrapper(localName = "ExportDataToCSVResponse", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:reportingService", className = "org.miloss.fgsms.services.interfaces.reportingservice.ExportDataToCSVResponse") public ExportDataToCSVResponseMsg exportDataToCSV( @WebParam(name = "request", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:reportingService") ExportCSVDataRequestMsg request) throws ServiceUnavailableException { AuditLogger.logItem(this.getClass().getCanonicalName(), "exportDataToHTML", currentUser, "null request", "not specified", ctx.getMessageContext()); throw new IllegalArgumentException("request is null");
@WebMethod(operationName = "fault", action = "http://docs.oasis-open.org/ws-tx/wscoor/2006/06/fault") @Oneway @Action(input="http://docs.oasis-open.org/ws-tx/wscoor/2006/06/fault") public void soapFault( @WebParam(name = "Fault", targetNamespace = "http://schemas.xmlsoap.org/soap/envelope/", partName = "parameters") Fault fault) { MessageContext ctx = webServiceCtx.getMessageContext(); final MAP inboundMap = AddressingHelper.inboundMap(ctx); final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx); final SoapFault soapFault = SoapFault11.fromFault(fault); TaskManager.getManager().queueTask(new Task() { public void executeTask() { ParticipantCompletionParticipantProcessor.getProcessor().soapFault(soapFault, inboundMap, arjunaContext); ; } }) ; } }
@WebMethod(operationName = "CreateCoordinationContextOperation", action = "http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContext") @WebResult(name = "CreateCoordinationContextResponse", targetNamespace = "http://docs.oasis-open.org/ws-tx/wscoor/2006/06", partName = "parameters") @Action(input="http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContext", output="http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContextResponse") public CreateCoordinationContextResponseType createCoordinationContextOperation( @WebParam(name = "CreateCoordinationContext", targetNamespace = "http://docs.oasis-open.org/ws-tx/wscoor/2006/06", partName = "parameters") CreateCoordinationContextType parameters) { MessageContext ctx = webServiceCtx.getMessageContext(); HttpServletRequest request = (HttpServletRequest)ctx.get(MessageContext.SERVLET_REQUEST); boolean isSecure = "https".equals(request.getScheme()); MAP inboundMAP = AddressingHelper.inboundMap(ctx); return ActivationCoordinatorProcessor.getCoordinator().createCoordinationContext(parameters, inboundMAP, isSecure); } }
@WebMethod @WebResult(name = "customers") public Customers getCustomers(@WebParam(name = "GetCustomers") GetCustomers req) { Customers cbean = new Customers(); cbean.setCustomer(customers.values()); if (context == null || context.getMessageContext() == null) { throw new WebServiceException("WebServiceContext is null!"); } return cbean; }
public String greetMe(String me) { if ("secure".equals(me)) { MessageContext ctx = getContext().getMessageContext(); return "Hello " + ctx.get(BindingProvider.USERNAME_PROPERTY); } if ("principal".equals(me)) { return "Hello " + getContext().getUserPrincipal().getName(); } LOG.info("Invoking greetMe " + prefix + me); invocationCount++; return "Hello " + me; }
package org.example.sampleservice; import javax.annotation.Resource; import javax.jws.HandlerChain; import javax.jws.WebService; import javax.xml.ws.WebServiceContext; @WebService(endpointInterface = "org.example.sampleservice.SampleService") @HandlerChain(file="handlers.xml") public class SampleServiceImpl implements SampleService { @Resource private WebServiceContext ctx; @Override public String sayHello(String name) { String usernameFromHeader = (String) ctx.getMessageContext().get("USERNAME"); return "Hello, " + name + " (invoked by " + (usernameFromHeader == null ? "[err or no 'Security' header found]" : usernameFromHeader) + ")"; } }
public final List<String> ping() { try { List<String> handlerInfoList = getHandlersInfo(context.getMessageContext()); handlerInfoList.add("servant"); context.getMessageContext().remove("handler.info"); //System.out.println(">> servant returning list: " + handlerInfoList); return handlerInfoList; } catch (Exception e) { e.printStackTrace(); } return null; }
@Override public boolean isUserInRole(String role) { return getContext().isUserInRole(role); }
@Override public EndpointReference getEndpointReference(Element... arg0) { return getContext().getEndpointReference(arg0); }
@WebMethod(operationName = "GetPerformanceAverageStatsAll", action = "urn:org:miloss:fgsms:services:interfaces:dataAccessService/dataAccessService/GetPerformanceAverageStatsAll") @WebResult(name = "AllStats", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:dataAccessService") @RequestWrapper(localName = "GetPerformanceAverageStatsAll", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:dataAccessService", className = "org.miloss.fgsms.services.interfaces.dataaccessservice.GetPerformanceAverageStatsAll") @ResponseWrapper(localName = "GetPerformanceAverageStatsAllResponse", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:dataAccessService", className = "org.miloss.fgsms.services.interfaces.dataaccessservice.GetPerformanceAverageStatsAllResponse") public List<GetPerformanceAverageStatsResponseMsg> getPerformanceAverageStatsAll( @WebParam(name = "classification", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:dataAccessService") SecurityWrapper classification, @WebParam(name = "range", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:dataAccessService") TimeRange range) throws AccessDeniedException, ServiceUnavailableException { if (range == null || range.getEnd() == null || range.getStart() == null) { AuditLogger.logItem(this.getClass().getCanonicalName(), "getPerformanceAverageStatsAll", currentUser, "", (classification), ctx.getMessageContext()); ArrayList<GetPerformanceAverageStatsResponseMsg> ret = new ArrayList<GetPerformanceAverageStatsResponseMsg>(); ArrayOfServiceType GetServiceListfromPolicyDB = DASHelper.getServiceListfromPolicyDB(ctx, (classification), PolicyType.TRANSACTIONAL);
@WebMethod(operationName = "SoapFault", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/fault") @Oneway @Action(input="http://docs.oasis-open.org/ws-tx/wsat/2006/06/fault") public void soapFault( @WebParam(name = "Fault", targetNamespace = "http://schemas.xmlsoap.org/soap/envelope/", partName = "parameters") Fault fault) { MessageContext ctx = webServiceCtx.getMessageContext(); final MAP inboundMap = AddressingHelper.inboundMap(ctx); final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx); final SoapFault soapFault = SoapFault11.fromFault(fault); TaskManager.getManager().queueTask(new Task() { public void executeTask() { ParticipantProcessor.getProcessor().soapFault(soapFault, inboundMap, arjunaContext); ; } }) ; } }
@WebMethod(operationName = "CreateCoordinationContextOperation", action = "http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContext") @WebResult(name = "CreateCoordinationContextResponse", targetNamespace = "http://docs.oasis-open.org/ws-tx/wscoor/2006/06", partName = "parameters") @Action(input="http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContext", output="http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContextResponse") public CreateCoordinationContextResponseType createCoordinationContextOperation( @WebParam(name = "CreateCoordinationContext", targetNamespace = "http://docs.oasis-open.org/ws-tx/wscoor/2006/06", partName = "parameters") CreateCoordinationContextType parameters) { MessageContext ctx = webServiceCtx.getMessageContext(); HttpServletRequest request = (HttpServletRequest)ctx.get(MessageContext.SERVLET_REQUEST); boolean isSecure = "https".equals(request.getScheme()); MAP inboundMAP = AddressingHelper.inboundMap(ctx); return ActivationCoordinatorProcessor.getCoordinator().createCoordinationContext(parameters, inboundMAP, isSecure); } }
import javax.annotation.Resource import javax.jws.WebMethod; import javax.jws.WebService; import javax.servlet.http.HttpServletRequest; import javax.xml.ws.WebServiceContext; import javax.xml.ws.handler.MessageContext; @WebService() public class Test { @Resource WebServiceContext context; @WebMethod(operationName = "getInfo") public String getInfo() { HttpServletRequest request = (HttpServletRequest)context.getMessageContext().get(MessageContext.SERVLET_REQUEST); return "IP: "+request.getRemoteAddr()+", Port: "+request.getRemotePort()+", Host: "+request.getRemoteHost(); } }
public boolean isUserInRole(String role) { return getWebServiceContext().isUserInRole(role); }
@Override public <T extends EndpointReference> T getEndpointReference(Class<T> arg0, Element... arg1) { return getContext().getEndpointReference(arg0, arg1); }
@WebMethod(operationName = "GetReport", action = "urn:org:miloss:fgsms:services:interfaces:automatedReportingService/GetReport") @WebResult(name = "response", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:automatedReportingService") @RequestWrapper(localName = "GetReport", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:automatedReportingService", className = "org.miloss.fgsms.services.interfaces.automatedreportingservice.GetReport") @ResponseWrapper(localName = "GetReportResponse", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:automatedReportingService", className = "org.miloss.fgsms.services.interfaces.automatedreportingservice.GetReportResponse") public GetReportResponseMsg getReport( @WebParam(name = "request", targetNamespace = "urn:org:miloss:fgsms:services:interfaces:automatedReportingService") GetReportRequestMsg request) throws AccessDeniedException, ServiceUnavailableException { String currentUser = UserIdentityUtil.getFirstIdentityToString(ctx); if (request == null) { AuditLogger.logItem(this.getClass().getCanonicalName(), "getReport", currentUser, "", "not specified", ctx.getMessageContext()); throw new IllegalArgumentException("request is null"); throw new IllegalArgumentException("a report id must be specified"); AuditLogger.logItem(this.getClass().getCanonicalName(), "getReport", currentUser, request.getReportId(), (request.getClassification()), ctx.getMessageContext()); GetReportResponseMsg r = new GetReportResponseMsg(); r.setClassification(getCurrentOperatingClassificationLevel());
@WebMethod(operationName = "SoapFault", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/fault") @Oneway @Action(input="http://docs.oasis-open.org/ws-tx/wsat/2006/06/fault") public void soapFault( @WebParam(name = "Fault", targetNamespace = "http://schemas.xmlsoap.org/soap/envelope/", partName = "parameters") Fault fault) { MessageContext ctx = webServiceCtx.getMessageContext(); final MAP inboundMap = AddressingHelper.inboundMap(ctx); final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx); final SoapFault soapFault = SoapFault11.fromFault(fault); TaskManager.getManager().queueTask(new Task() { public void executeTask() { CoordinatorProcessor.getProcessor().soapFault(soapFault, inboundMap, arjunaContext); ; } }) ; } }
@WebMethod(operationName = "CreateCoordinationContextOperation", action = "http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContext") @WebResult(name = "CreateCoordinationContextResponse", targetNamespace = "http://docs.oasis-open.org/ws-tx/wscoor/2006/06", partName = "parameters") @Action(input="http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContext", output="http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContextResponse") public CreateCoordinationContextResponseType createCoordinationContextOperation( @WebParam(name = "CreateCoordinationContext", targetNamespace = "http://docs.oasis-open.org/ws-tx/wscoor/2006/06", partName = "parameters") CreateCoordinationContextType parameters) { MessageContext ctx = webServiceCtx.getMessageContext(); HttpServletRequest request = (HttpServletRequest)ctx.get(MessageContext.SERVLET_REQUEST); boolean isSecure = "https".equals(request.getScheme()); MAP inboundMAP = AddressingHelper.inboundMap(ctx); return ActivationCoordinatorProcessor.getCoordinator().createCoordinationContext(parameters, inboundMAP, isSecure); } }