как скрыть WSDL с помощью CXF - PullRequest
       0

как скрыть WSDL с помощью CXF

4 голосов
/ 16 декабря 2010

Я разработал веб-сервис Java с использованием CXF и Spring.из-за соображений безопасности я хотел бы скрыть WSDL, хотя WS все еще будет доступен.Есть ли способ сделать это с помощью CXF?

1 Ответ

2 голосов
/ 02 июня 2011

Вы можете добавить фильтр сервлетов в web.xml, который останавливает обработку запросов wsdl:

<filter>
    <filter-name>wsdlFilter</filter-name>
    <filter-class>com.mycompany.myWsdlFilterClass</filter-class>    
</filter>

<filter-mapping>
  <filter-name>wsdlFilter</filter-name>
  <url-pattern>*?wsdl</url-pattern>
</filter-mapping>

Метод doFilter () будет выглядеть так:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
    ServletException {

  String queryString = ((HttpServletRequest) request).getQueryString();    
  if(queryString!=null && queryString.toLowerCase().startsWith("wsdl")){
    return; //the filter chain stops and request does not get processed
  }
  else{
    chain.doFilter(request, response);
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...