Будет ли Denodo поддерживать JSONP или CORS?
У меня есть denodo, возвращающий данные JSON. Мой домен tomcat отличается от домена denodo. Я понятия не имею, поддержит ли denodo jsonp или CORS. Если он не поддерживает, мне нужно перейти к более традиционному подходу прокси-сервлета для доступа к данным из другого домена. Пожалуйста, дайте мне знать, если у кого-нибудь есть предложения или решения
1 ответ
Поддержка CORS:
Denodo использует Apache Tomcat в качестве встроенного веб-контейнера. Чтобы включить CORS для предоставляемых услуг, вам необходимо настроить этот Tomcat. Поскольку используемая версия предшествует 7.0, фильтр CORS в этом коте не поддерживается напрямую. Вы должны предоставить внешний.
Например, вы можете использовать эту реализацию: software.dzhuvinov.com/cors-filter.html
и поместите jar-файлы cors-filter-.jar и java-property-utils-.jar из CORS-фильтра в: /resources/apache-tomcat/common/lib
Чтобы включить CORS для определенного веб-сервиса REST, вы должны добавить такой фильтр в файл web.xml веб-сервиса:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/views/*</url-pattern>
</filter-mapping>
Добавьте этот фильтр первым в разделе фильтров и перезапустите веб-контейнер.
Я нашел эту информацию в этой ссылке: https://community.denodo.com/kb/view/document/Northbound%20Connections/CORS%20support%20on%20the%20embedded%20Apache%20Tomcat
Поддержка JSONP:
Denodo обеспечивает поддержку jsonp, как это объясняется в документации. Чтобы получить JSON с отступом, просто добавьте параметр $jsoncallback к URL-адресу вместе с именем функции.