
本文介绍ThingWorx Platform平台接口如何访问,出现跨域问题如何解决。参考官方文章CS229450 - How to Enable Cross-Origin Resource Sharing (CORS) in Apache Tomcat for ThingWorx Platform/ThingWorx Navigate
背景公司服务器部署了一台 ThingWorx Platform,现在另一个系统要调用thingworx中开放的api接口(thingworx如何写api接口可参考官网),访问时浏览器提示错误:
很明显是跨域问题 ,解决方案见下面步骤:
解决方案1、找到thingworx安装目录下的tomcat下web.xml文件:webappsThingworxWEB-INF ,在 行后面新增
CorsFilter org.apache.catalina.filters.CorsFilter cors.allowed.origins * cors.allowed.methods OPTIONS,GET,POST,HEAD,PUT,DELETE cors.allowed.headers Authorization,appKey,x-thingworx-session,Content-Type,X-Requested-With,Origin,Access-Control-Request-Method,Access-Control-Request-Headers cors.exposed.headers Access-Control-Allow-Origin,Access-Control-Allow-Credentials cors.support.credentials false cors.preflight.maxage 10 cors.request.decorate true CorsFilter /*
cors.allowed.origins的值可以设置为指定域访问,如有多个用英文逗号分隔,允许所有域访问设置为*,这里直接设置为*。
2、ThingWorx Platform 8.5 及更高版本开始,还需要注释掉以下与OPTIONS相关的块:
3、保存web.xml文件,重启Apache Tomcat。
完成以上步骤,thingworx已经放开 了跨域限制,只需要调用即可,可以测试下,测试html如下
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)