使用IBM Integration Bus支持CORS(Message Broker)

时间:2014-09-02 13:19:11

标签: cors esb messagebroker ibm-integration-bus

如何配置IIB以支持CORS和预检请求?

我想将IIB配置为支持CORS的REST代理。我有IIB配置了HTTP输入节点,我怀疑它是拒绝我的浏览器的预检请求,它使用OPTIONS标头。

我已经成功测试了启用了CORS的浏览器和服务器,没有IIB。我在浏览器中禁用了安全性,并通过IIB路由请求以验证我的IIB流程是否正常工作。当我重新启用浏览器安全性时,我收到以下错误:“请求的资源上没有'Access-Control-Allow-Origin'标头。”。我在IIB中的HTTP Input节点之后添加了一个断点,但是OPTIONS请求永远不会使用它。

2 个答案:

答案 0 :(得分:1)

CORS支持在IBM Integration Bus版本10中。有关如何启用/使用它的说明,请参阅此文章:

https://developer.ibm.com/integration/blog/2015/06/05/cross-origin-resource-sharing-cors-in-ibm-integration-bus-v10/

答案 1 :(得分:0)

此处描述了可能解决方案的一部分:How to define CORS in Websphere Application Server Liberty Profile V8.5

基本上,我在WAS中安装了IBM提供的proxyservlet.war,并将其配置为使用上述链接中描述的过滤器。 war文件与tools文件夹中的WMB安装文件一起使用。我必须自定义servlet初始化参数以使用我的WMB代理。有大约3个parms必须配置。当你直接通过HttpConnector调用WMB时,默认端口是7080.当你通过代理servlet时,默认端口是9080.所以你将使用9080,代理servlet中的CORSFilter类将处理CORS预检请求。

在WMB信息中心的IBM文档中描述了proxyservlet.war。