我有这段代码:
Connector conn = FrameworkUtil.getConnector(context, ALFRESCO_ENDPOINT_ID);
ConnectorContext c = new ConnectorContext(HttpMethod.POST);
c.setContentType("application/json");
Response res = conn.call("/slingshot/profile/userprofile", c,
new ByteArrayInputStream(buf.toString().getBytes()));
对帖子进行POST:POST http://localhost:8080/share/service/components/profile/userprofile
但是,我收到了错误:
TypeError:g.getResponseHeader未定义
... unction(g){var b = g.argument.config; var F = g.getResponseHeader ["内容类型"] ||克....
在互联网上搜索时,我发现这可能是一个问题,解决了使用CORS添加Content-Type的问题。
类似的东西:
.header("Access-Control-Allow-Headers", "x-requested-with,Content-Type");
如何在我的代码中执行此操作?使用Connector或ConnectorContext,我找不到设置标题的方法......
或者,如果这不是解决此问题的方法,我该如何解决此错误?
答案 0 :(得分:2)
我认为你可能在这里配置了一些不正确的东西,或者你可能会误解一些事情。如果您正在与ALFRESCO_ENDPOINT_ID建立远程连接,那么这通常意味着您正在尝试连接到Alfresco存储库 - 并且根据您说你在哪里尝试从中进行呼叫看来这是在Share应用程序中运行的Java支持的WebScript中 - 这是正确的吗?
如果是这样,应该请求的URL实际上是:
http://localhost:8080/alfresco/service/slingshot/profile/userprofile
这相当于调用以下内容:
http://localhost:8080/share/proxy/alfresco/slingshot/profile/userprofile
(第二个URL自动代理Alfresco enpoint)。
如果Alfresco Repository和Share都在同一台服务器上运行(使用端口8080暗示你这么做)那么你就不应该遇到CORS问题 - 除非你试图去从localhost到运行Alfresco存储库的某个远程位置。
分享/冲浪应该为您照顾所有这些 - 也许您可以提供更多关于您正在尝试做什么的背景, 代码运行的位置(例如WebScript,Share等)以及您尝试连接的位置?
这可能有助于最好地建议如何解决您的主要问题。