class SoapActionSmartEndpointInterceptor extends DelegatingSmartSoapEndpointInterceptor {

	@Override
	protected boolean shouldIntercept(WebServiceMessage request, Object endpoint) {
		if (request instanceof SoapMessage) {
			String soapAction = ((SoapMessage) request).getSoapAction();
			if (StringUtils.hasLength(soapAction) && soapAction.charAt(0) == '"'
					&& soapAction.charAt(soapAction.length() - 1) == '"') {
				soapAction = soapAction.substring(1, soapAction.length() - 1);
			}
			return this.soapAction.equals(soapAction);
		} else {
			return false;
		}
	}

	public  SoapActionSmartEndpointInterceptor(EndpointInterceptor delegate, String soapAction);

}