0

wso2のDASを使用しています。入力アダプター タイプが http のイベント レシーバーがあります。jqueryを使用したhtmlでは、postメソッドでjsonをこのイベントに送信しています。コードは非常に単純です。

<script src="jquery.js"></script>
<script>
$( document ).ready(function() {

  $("#senddata").click(function(){
		$.post("http://localhost:9763/endpoints/ex", '{"event": {"payloadData": {"name": "gggg", "age": 37}}}')
			.done(function( data ) {
				console.log( data );
			});
	});
});
</script>

<body>
<input type="button" value="send" id="senddata"></input>
</body>

DAS はhttps://localhost:9443で実行され、アプリはhttp://localhost/sで html と jquery を使用して実行されます。アプリを実行してボタンをクリックすると、コンソールに「Access-Control-Allow-Origin」というエラー タイプが表示されます。

DAS ドキュメントには、セッション「Analytics REST API の CORS 設定」( https://docs.wso2.com/display/DAS300/CORS+Settings+for+the+Analytics+REST+API ) があります。私はこの指示に従いますが、結果はありません。エラーが続く。

これは web.xml の私の構成です

<filter>
    <filter-name>CorsFilter</filter-name>
    <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
    <init-param>
        <param-name>cors.allowed.origins</param-name>
        <param-value>*</param-value>
    </init-param>
    <init-param>
        <param-name>cors.allowed.methods</param-name>
        <param-value>GET,POST,HEAD,OPTIONS,PUT,DELETE,PATCH</param-value>
    </init-param>
    <init-param>
        <param-name>cors.exposed.headers</param-name>
        <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>CorsFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

一方、firefox の RESTClient を使用すると、正しい結果が得られます。

ここに画像の説明を入力

4

1 に答える 1

1

[DAS_HOME]\repository\conf\tomcat\ 内の web.xml を同じ構成で更新する必要があります。これは、以前の DAS スナップショットでは発生しませんが、構成ファイルを更新する 3.0.0 バージョンでは発生しません。

于 2016-01-05T17:07:40.843 に答える