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