【发布时间】:2016-10-28 07:46:13
【问题描述】:
最近我遇到了无法解决的 wso2 esb 问题(可能是错误)。我会尽量解释清楚。
我将 wso2 ESB 与休息代理一起使用,以便从前端应用程序与后端休息服务进行通信。
我用这样的端点定义了一个休息代理,它工作正常:
<endpoint>
<address uri="http://127.0.0.1:8099/DummyRestServiceWSO2"/>
</endpoint>
但我们的目标是将 WSO2 esb 集成到 openshift 环境中的容器中。在 openshift 中,ip 是动态设置的,但可以通过系统环境变量访问。所以我尝试通过使用标题标签动态解决我的端点:
<endpoint>
<default/>
</endpoint>
<inSequence>
<script language="js">mc.setProperty("url",java.lang.System.getenv("HOST_IP"));</script>
<property name="service_url" expression="fn:concat(get-property(url),'/DummyRestServiceWSO2')"/>
<header name="To" expression="get-property('service_ep')"/>
<send/>
</inSequence>
其中HOST_IP定义为:http://127.0.0.1:8099
自从我进行此更改后,我对后端休息服务的调用仍然可以正常工作,但对调用者(前端)的响应现在被格式化为肥皂(我试图画出问题,see attachment)。
非常感谢您的帮助,祝阅读这篇文章的人度过美好的一天:)
【问题讨论】: