如何获取部署Java Adapter的IBM MobileFirst服务器的主机名和端口?

时间:2016-09-28 17:36:02

标签: ibm-mobilefirst mobilefirst-adapters mobilefirst-server

我正在使用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服务器的主机和端口详细信息。

1 个答案:

答案 0 :(得分:1)

一些选项:

  1. 使用配置API获取它:ConfigurationAPI.getServerJNDIProperty("mfpadmin/mfp.admin.‌​authorization.server‌​.url") - 这将是这样的:http://localhost:9080/mfp/api。您需要从中提取主机和端口。

  2. 您可以在客户端使用WL.App.getServerUrl API,并将其用作调用适配器的参数。但对于你的场景来说这没什么意义(虽然我没有完全'得到'场景是什么)。

  3. 由于服务器属于您自己,因此您只需在适配器实现中对这些值进行硬编码即可。