使用 IBM Integration API 查看端点

您可以使用 IBM Integration API 查看部署在 IBM® App Connect Enterprise Toolkit中的消息流的端点。

准备工作

  1. 创建和启动集成服务器,并将管理端口的值设置为 7600 ,如 使用 Toolkit 创建,启动和停止本地独立集成服务器中所述。
  2. 您需要部署一个使用 HTTP 或 SOAP 传输的应用程序。 例如,您可以通过完成以下步骤导入并运行使用 HTTP 输入驱动消息流教程:
    1. IBM App Connect Enterprise工具包中,打开教程库,搜索 HTTP ,然后选择使用 HTTP 输入驱动消息流
    2. 通过完成教程指示信息来导入并运行教程。

    有关更多信息,请参阅 IBM App Connect Enterprise

    .
  3. 通过在 IBM App Connect Enterprise Toolkit的 "集成资源管理器" 视图中查看集成服务器的内容,或者使用 IBM App Connect Enterprise Web 用户界面 (如 访问 Web 用户界面中所述) 来确认 HTTPInputApplication 正在集成服务器上运行。

关于此任务

必须安装 IBM App Connect Enterprise 12.0.8.0 或更高版本才能使用此功能。

过程

  1. 通过执行 配置 Eclipse 环境以运行定制集成应用程序中描述的步骤来创建 Java™ 项目。
  2. 在 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();
            } 
    
        }
    
    }
    
  3. 通过右键单击该类并选择 "运行方式 → Java 应用程序" 来运行该类。

    以下输出显示在 " Eclipse 控制台 " 窗口中:

    
    Endpoint Location = http://hostname:7800/HTTPInputMessageFlow
    
    Endpoint Transport = HTTP
    
    Endpoint Direction = Input
    
    Source URI = /apiv2/applications/HTTPInputApplication/messageflows/HTTPInputMessageFlow/nodes/HTTP%20Input