Java 如何解决alfresco sdk中alfresco WebScript中的CORS错误?

Java 如何解决alfresco sdk中alfresco WebScript中的CORS错误?,java,angular,cors,alfresco,alfresco-webscripts,Java,Angular,Cors,Alfresco,Alfresco Webscripts,我已经创建了一个alfresco webscript,可以使用以下url访问: {itemIid} 例如: 当我直接从浏览器地址栏点击时,它工作得很好,但是当我从angular服务调用它时,我得到了CORS错误 加载失败:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“” 我的观点是: convert1(itemId:string){ var headers = new Headers(); headers.set('Con

我已经创建了一个alfresco webscript,可以使用以下url访问:

{itemIid} 例如:

当我直接从浏览器地址栏点击时,它工作得很好,但是当我从angular服务调用它时,我得到了CORS错误

加载失败:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”

我的观点是:

convert1(itemId:string){
    var headers = new Headers();
    headers.set('Content-Type','*');
    headers.set('Access-Control-Allow-Origin','*');
    headers.append('Authorization','Basic zfsdfsdfsdfdsf=');    
    return  this.http.get(http://localhost:9191/alfresco/s/search/item/it0001,{headers:headers});   
}
在alfresco repo方面,我在webscript代码中添加了以下内容,但这并没有帮助

response.setHeader("Access-Control-Allow-Origin", "*"); 
我可以在我的alfresco repo放大器插件中做哪些更改,以避免此错误

如有任何见解,将不胜感激

--------杰夫·波茨回答之后-----

1。D:\abcd app repo\target\amp war\WEB-INF\WEB.xml
科尔斯
com.thetransactioncompany.cors.CORSFilter
cors.allowgenerichtt前传
真的
金鸡儿
*
cors.allowSubdomains
真的
cors.supportedMethods
获取、标题、发布、放置、删除、选项
cors.supportedHeaders
来源、授权、x文件大小、x文件名、内容类型、接受、x文件类型
cors.supportsCredentials
真的
科斯马克萨奇酒店
3600
全局定位滤波器
/*
要求
科尔斯
/原料药/*
/服务/*
//*
/CMIS浏览器/*
  • 在alfresco/WEB-INF/lib中添加了cors-filter-2.5.jar、java-property-utils-1.9.1.jar或cors-filter-2.4.jar和java-property-utils-1.9.1.jar或cors-filter-1.9.3.jar,但对我不起作用
  • 尝试以下步骤:

  • 进入WEB-INF下扩展的alfresco webapp目录并编辑WEB.xml
  • 搜索“CORS过滤器”
  • 取消对过滤器的注释
  • 现在重新启动Tomcat并重试

  • 问题可能出在后端。。你在aspnet中使用webapi吗?谢谢puntanet,我想你是对的,我的后端代码有问题。但我使用的是基于java的alfresco webscriptsi,但在aspnet中也有类似的问题。我通过在我的背部添加EnableCors解决了这个问题。。你可以试着为Java寻找类似的东西,非常感谢puntanet。我可以知道你在开发alfresco插件或其他web应用程序。我为公司管理开发web应用哇,很高兴在这里见到您,非常感谢Jeff来到这里,我尝试了相同的方法并更新了文件,正如我在编辑的问题中提到的,但仍然无法使用Inglet的备份。你正在做一个GET,如果它运行正常,端口打开,那么它在到达端点时应该不会有问题。你能用curl做同样的GET,看看会发生什么吗?也许可以使用curl-v打开详细日志记录。
    1. D:\abcd-app-repo\target\amp-war\WEB-INF\web.xml
    <!-- CORS Filter Begin -->
      <filter>
          <filter-name>CORS</filter-name>
          <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
          <init-param>
             <param-name>cors.allowGenericHttpRequests</param-name>
             <param-value>true</param-value>
          </init-param>
          <init-param>
             <param-name>cors.allowOrigin</param-name>
             <param-value>*</param-value>
          </init-param>
          <init-param>
             <param-name>cors.allowSubdomains</param-name>
             <param-value>true</param-value>
          </init-param>
          <init-param>
             <param-name>cors.supportedMethods</param-name>
             <param-value>GET, HEAD, POST, PUT, DELETE, OPTIONS</param-value>
          </init-param>
          <init-param>
             <param-name>cors.supportedHeaders</param-name>
             <param-value>origin, authorization, x-file-size, x-file-name, content-type, accept, x-file-type</param-value>
          </init-param>
          <init-param>
             <param-name>cors.supportsCredentials</param-name>
             <param-value>true</param-value>
          </init-param>
          <init-param>
             <param-name>cors.maxAge</param-name>
             <param-value>3600</param-value>
          </init-param>
       </filter>
       <!-- CORS Filter End -->
    
       <!-- Enterprise filter placeholder -->
    
       <filter-mapping>
          <filter-name>Global Localization Filter</filter-name>
          <url-pattern>/*</url-pattern>
          <dispatcher>REQUEST</dispatcher>
       </filter-mapping>
    
       <!-- CORS Filter Mappings Begin -->
      <filter-mapping>
          <filter-name>CORS</filter-name>
          <url-pattern>/api/*</url-pattern>
          <url-pattern>/service/*</url-pattern>
          <url-pattern>/s/*</url-pattern>
          <url-pattern>/cmisbrowser/*</url-pattern>
       </filter-mapping>
       <!-- CORS Filter Mappings End -->