msgContext.setProperty(HTTPConstants.MC_HTTP_SERVLET, this);
msgContext.setProperty(HTTPConstants.MC_HTTP_SERVLETLOCATION, endpointUri.getPath());
// determine service name
String serviceName = getServiceName(context, endpointUri);
// Validate Service path against request path
SOAPService service = msgContext.getAxisEngine().getConfig().getService(
new QName(serviceName.substring(1)));
// if using jms or vm we can skip this
String scheme = endpointUri.getScheme();
if (!("vm".equalsIgnoreCase(scheme)
|| "jms".equalsIgnoreCase(scheme)
|| "servlet".equalsIgnoreCase(scheme)))
{
// Component Name is set by Mule so if its null we can skip this check
if (service.getOption(AxisConnector.SERVICE_PROPERTY_COMPONENT_NAME) != null)
{
String servicePath = (String)service.getOption("servicePath");
if (StringUtils.isEmpty(endpointUri.getPath()))
{
if (!("/" + endpointUri.getAddress()).startsWith(servicePath + serviceName))
{
throw new AxisFault("Failed to find service: " + "/" + endpointUri.getAddress());