1

我有一个 denodo 返回 json 数据。我的 tomcat 域与 denodo 域不同。我不太清楚 denodo 是否支持 jsonp 或 CORS。如果它不支持,我需要使用更传统的代理 servlet 方法让 tomcat 访问来自其他域的数据。如果有人有任何建议或解决方案,请告诉我

4

1 回答 1

4

CORS 支持:

Denodo 使用 Apache Tomcat 作为其嵌入式 Web 容器。为了对所提供的服务启用 CORS,您需要配置此 Tomcat。由于使用的版本早于 7.0,因此此 tomcat 不直接支持 CORS 过滤器。你必须提供一个外部的。

例如,您可以使用此实现:software.dzhuvinov.com/cors-filter.html

并将 CORS-filter 中的 jar 文件 cors-filter-.jar 和 java-property-utils-.jar 文件放在:/resources/apache-tomcat/common/lib 下

要为特定的 REST Web 服务启用 CORS,您必须将这样的过滤器添加到 Web 服务的 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>

将此过滤器添加为过滤器部分中的第一个过滤器,然后重新启动 Web 容器。

我在此链接中找到了此信息:https ://community.denodo.com/kb/view/document/Northbound%20Connections/CORS%20support%20on%20the%20embedded%20Apache%20Tomcat

JSONP 支持:

Denodo 确实提供了对 jsonp 的支持,正如文档中所解释的那样。要获取带填充的 JSON,只需将参数 $jsoncallback 以及函数名称添加到 URL。

https://community.denodo.com/docs/view/document/Virtual%20DataPort/Denodo%205.5/Virtual%20DataPort%20Administration%20Guide

于 2015-04-14T11:09:59.963 回答