您可以使用 IBM Integration API 查看部署在 IBM® App Connect Enterprise Toolkit中的消息流的端点。
准备工作
- 创建和启动集成服务器,并将管理端口的值设置为 7600 ,如 使用 Toolkit 创建,启动和停止本地独立集成服务器中所述。
- 您需要部署一个使用 HTTP 或 SOAP 传输的应用程序。 例如,您可以通过完成以下步骤导入并运行使用 HTTP 输入驱动消息流教程:
- 在 IBM App Connect Enterprise工具包中,打开教程库,搜索 HTTP ,然后选择使用 HTTP 输入驱动消息流。
- 通过完成教程指示信息来导入并运行教程。
有关更多信息,请参阅 IBM App Connect Enterprise。
.
- 通过在 IBM App Connect Enterprise Toolkit的 "集成资源管理器" 视图中查看集成服务器的内容,或者使用 IBM App Connect Enterprise Web 用户界面 (如 访问 Web 用户界面中所述) 来确认
HTTPInputApplication 正在集成服务器上运行。
关于此任务
必须安装 IBM App Connect Enterprise 12.0.8.0 或更高版本才能使用此功能。
过程
- 通过执行 配置 Eclipse 环境以运行定制集成应用程序中描述的步骤来创建 Java™ 项目。
- 在 Java 项目中名为 RetrieveEndpointsExample 的类中添加以下代码:
package com.ibm.integration.admin;
import java.io.IOException;
import com.ibm.integration.admin.http.HttpClient;
import com.ibm.integration.admin.http.HttpResponse;
import com.ibm.integration.admin.model.MessageFlowModel;
import com.ibm.integration.admin.model.flow.MessageFlowActive;
import com.ibm.integration.admin.model.rm.EndpointResourceManager;
import com.ibm.integration.admin.model.rm.EndpointResourceManagerActive;
import com.ibm.integration.admin.model.rm.EndpointResourceManagerEndpoint;
import com.ibm.integration.admin.proxy.ApplicationProxy;
import com.ibm.integration.admin.proxy.IntegrationAdminException;
import com.ibm.integration.admin.proxy.IntegrationServerProxy;
import com.ibm.integration.admin.proxy.MessageFlowProxy;
public class RetrieveEndpointsExample {
public static void main(String[] args) {
try {
IntegrationServerProxy myServer = new IntegrationServerProxy("localHost",7600,"","",false);
String myAppName = "HTTPInputApplication";
ApplicationProxy myApp = myServer.getApplicationByName(myAppName, true);
if (myApp != null)
{
String messageFlowName = "HTTPInputMessageFlow";
MessageFlowProxy myFlow = myApp.getMessageFlowByName(messageFlowName, null, true);
MessageFlowModel flowModel = myFlow.getMessageFlowModel(true);
MessageFlowActive messageFlowActive = flowModel.getActive();
String endpointsUri = messageFlowActive.getEndpointsUri();
try
{
HttpClient httpClient = new HttpClient("localHost",7600, null, null, false);
HttpResponse httpResponse = httpClient.getMethod(endpointsUri, false);
EndpointResourceManager endpointResourceManager = httpResponse.parseResponseBody(EndpointResourceManager.class);
EndpointResourceManagerActive endpointResourceManagerActive = endpointResourceManager.getActive();
EndpointResourceManagerEndpoint[] endpoints = endpointResourceManagerActive.getEndpoints();
for (int i = 0; i < endpoints.length; i++)
{
String[] sourceURIs = endpoints[i].getSourceURIs();
for (int uriIndex = 0; uriIndex < sourceURIs.length; uriIndex++)
{
System.out.println("Endpoint Location = " + endpoints[i].getEndpointLocation());
System.out.println("Endpoint Transport = " + endpoints[i].getTransport());
System.out.println("Endpoint Direction = " + endpoints[i].getDirection());
System.out.println("Source URI = " + sourceURIs[uriIndex]);
}
}
}
catch (IOException | InterruptedException e)
{
e.printStackTrace();
}
}
} catch (IntegrationAdminException e) {
e.printStackTrace();
}
}
}
- 通过右键单击该类并选择 "运行方式 → Java 应用程序" 来运行该类。
以下输出显示在 " Eclipse 控制台 " 窗口中:
Endpoint Location = http://hostname:7800/HTTPInputMessageFlow
Endpoint Transport = HTTP
Endpoint Direction = Input
Source URI = /apiv2/applications/HTTPInputApplication/messageflows/HTTPInputMessageFlow/nodes/HTTP%20Input