我正在使用IBM MobileFirst Platform Foundation 8.0.0。我有一个Java适配器,它部署在调用外部服务的mobilefirst服务器上。在外部系统上创建资源后,我在“位置”响应头上返回创建的id。它为我提供了外部系统创建资源的完整URL,如http://example.com:1234/resource_name/1234
我不想将外部系统的url暴露给我的适配器的调用者/客户端。我想要返回这样的内容 - http://mobilefirstserver.com:6789/mfp/api/adapters/MyAdapter/resource_name/1234
其中" mobilefirstserver"是运行MyAdapter的服务器。我无法从mfp库中找到任何可以检索“mobilefirstserver”和“6789”的方法。我可以从adapter.xml检索适配器的目标URI,即“example”和“1234”,但不能检索mobilefirst服务器的主机和端口详细信息。
答案 0 :(得分:1)
一些选项:
使用配置API获取它:ConfigurationAPI.getServerJNDIProperty("mfpadmin/mfp.admin.authorization.server.url")
- 这将是这样的:http://localhost:9080/mfp/api。您需要从中提取主机和端口。
您可以在客户端使用WL.App.getServerUrl
API,并将其用作调用适配器的参数。但对于你的场景来说这没什么意义(虽然我没有完全'得到'场景是什么)。
由于服务器属于您自己,因此您只需在适配器实现中对这些值进行硬编码即可。