2

我正在使用IBM MobileFirst Platform Foundation 8.0.0。我有一個部署在調用外部服務的mobilefirst服務器上的Java適配器。在外部系統上創建資源後,我在「位置」響應標題上返回創建的標識。它給我的外部系統的創建資源的像http://example.com:1234/resource_name/1234如何獲取部署Java Adapter的IBM MobileFirst服務器的主機名和端口?

我不想外部系統的網址暴露在我的適配器的呼叫者/客戶端的完整網址。我想返回這樣的東西 - http://mobilefirstserver.com:6789/mfp/api/adapters/MyAdapter/resource_name/1234

其中「mobilefirstserver」是運行MyAdapter的服務器。我無法從mfp庫中找到任何可以檢索「mobilefirstserver」和「6789」的方法。我可以從adapter.xml中檢索適配器的目標URI(它是「example」和「1234」),但不是mobilefirst服務器的主機和端口詳細信息。

回答

1

一些選項:

  1. 使用配置API獲得它:ConfigurationAPI.getServerJNDIProperty("mfpadmin/mfp.admin.‌​authorization.server‌​.url") - 這將是這樣的:http://localhost:9080/mfp/api。您需要從中提取主機和端口。

  2. 您可以在客戶端使用WL.App.getServerUrl API並將其用作調用適配器時的參數。但是,對於你的情景來說,這種感覺(儘管我並沒有完全'得到'情景)。

  3. 由於服務器是您的,您可以在適配器實現中簡單地對這些值進行硬編碼。

+0

謝謝Idan。我正在使用ConfigurationAPI..getServerJNDIProperty(「mfpadmin/mfp.admin.authorization.server.url」)來獲取mobilefirst服務器主機和端口。那很好嗎? –

+0

如果它適合你 - 是的。 –

+0

但是請注意,您需要從中提取主機和端口。 –

相關問題