【问题标题】:Will Denodo support jsonp or CORSDenodo 会支持 jsonp 还是 CORS
【发布时间】:2015-06-15 00:22:51
【问题描述】:

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

【问题讨论】:

    标签: ajax json jsonp cors denodo


    【解决方案1】:

    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

    【讨论】:

    • 谢谢,我认为它的工作。我用url...?$format=json&amp;$jsoncallback=js_function
    猜你喜欢
    • 2016-09-03
    • 2012-08-31
    • 2014-01-16
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多