1

json データを返す denodo があります。私の tomcat ドメインは、denodo ドメインのものとは異なります。denodo が jsonp または CORS をサポートするかどうかはよくわかりません。サポートされていない場合は、Tomcat が他のドメインからデータにアクセスするためのプロキシ サーブレットの従来のアプローチを使用する必要があります。誰か提案や解決策があれば教えてください

4

1 に答える 1

4

CORS サポート:

Denodo は、組み込み Web コンテナとして Apache Tomcat を使用します。提供されるサービスに対して 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 に答える