Я использую DAS wso2. У меня есть приемник событий с входным адаптером типа http. В html с помощью jquery я отправляю json в это событие методом post. Код очень прост:DAS не отправляет заголовок CORS
<script src="jquery.js"></script>
<script>
$(document).ready(function() {
$("#senddata").click(function(){
\t \t $.post("http://localhost:9763/endpoints/ex", '{"event": {"payloadData": {"name": "gggg", "age": 37}}}')
\t \t \t .done(function(data) {
\t \t \t \t console.log(data);
\t \t \t });
\t });
});
</script>
<body>
<input type="button" value="send" id="senddata"></input>
</body>
DAS работает в https://localhost:9443 и приложение с HTML и JQuery в http://localhost/s. Когда я запускаю приложение и нажимаю кнопку, консоль показывает тип ошибки «Access-Control-Allow-Origin».
В документации DAS есть сеанс «Настройки CORS для API REST Analytics» (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>
С другой стороны, когда я использую RESTClient из светлячок результат является правильным.
Конфигурация xml верна. Данные, которые были отклонены, сохраняются. Но я не получаю ответ сервера. – maikelm