package edu.mayo.cts2.framework.webapp.soap.wsdl; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import org.springframework.ws.transport.http.WsdlDefinitionHandlerAdapter; import edu.mayo.cts2.framework.core.config.ServerContext; public class LocationAdjustingWsdlDefinitionHandlerAdapter extends WsdlDefinitionHandlerAdapter { private static final String SOAP_URL_PREFIX = "/soap/service/"; @Resource private ServerContext serverContext; @Override protected String transformLocation(String location, HttpServletRequest request) { return this.serverContext.getServerRootWithAppName() + SOAP_URL_PREFIX + this.getServiceName(location); } private String getServiceName(String location){ return StringUtils.substringAfterLast(location, "/"); } }