如果您使用的是Integration Cloud Service或Oracle Integration Cloud,则Web界面中没有允许您更改集成内适配器名称的功能。这些名称仅用于文档目的,并不提供超出可读性和约定的任何功能价值。但是,如果你像我一样,你重视惯例和可读性。
有一种方法可以通过导出或下载OSB工件来更改名称。我将概述如何手动执行此操作,然后以更合适的方式简要介绍如何执行此操作(有关ICS实际上在底层内部的一些背景信息)。此外,如果您没有从Stack Overflow获得任何响应,Oracle会非常活跃 客户云连接 论坛,你也可以放置一个 SR
您可以通过修改导出项目的下划线XML来手动更新名称。首先导出您的项目,如下所示
导出将下载带有的文件 iar 延期。这是一个压缩文件,因此解压缩文件(或用7z,winrar等打开它)。您应该看到以下目录结构
iar
|-- icspackage |-- appinstance |-- project |-- the_name_of_your_project |-- PROJECT-INF |-- layout.json |-- project.xml |-- resources |-- ics_project_attributes.properties
我这里只向您展示相关的目录树。显然有更多的节点,但它们并不相关。
打开project.xml文件。这是一个示例文件,其中包含一个REST应用程序适配器,没有HTTP响应正文,没有调用,没有操作,也没有转换。
<?xml version="1.0" encoding="UTF-8"?> <ns1:icsproject xmlns="http://www.oracle.com/2014/03/ics/flow/definition" xmlns:ns1="http://www.oracle.com/2014/03/ics/project" xmlns:ns0="http://www.oracle.com/2014/03/ics/project/definition" name="project_1" version="7.3" modelType="freeform"> <ns0:projectCode>LEAD</ns0:projectCode> <ns0:projectVersion>01.00.0000</ns0:projectVersion> <ns0:projectName>Lead</ns0:projectName> <ns0:percentComplete>0</ns0:percentComplete> <ns0:projectHasErrors>true</ns0:projectHasErrors> <ns0:projectHasWarnings>false</ns0:projectHasWarnings> <ns1:icsflow name="flow_1"> <application name="application_8"> <role>source</role> <adapter> <type>app-adapter</type> <code>IC</code> <name>te</name> <property name="hasAttachment" value="false"/> </adapter> <mep>push-sync</mep> <outbound name="outbound_9"> <binding>rest</binding> <operation>execute</operation> <resourceGroup name="resourcegroup_10"> <resource name="resource_11" location="../resources/application_8/outbound_9/resourcegroup_10/te_REQUEST.jca" type="jca"/> <resource name="resource_12" location="../resources/application_8/outbound_9/resourcegroup_10/te_REQUEST.wsdl" type="wsdl"/> </resourceGroup> <input name="input_14"> <role>response</role> <messageContextRef refUri="messagecontext_13"/> </input> <input name="input_18"> <role>fault</role> <subRole>APIInvocationError</subRole> <messageContextRef refUri="messagecontext_17"/> </input> <output name="output_16"> <role>request</role> <messageContextRef refUri="messagecontext_15"/> </output> </outbound> </application> <processor name="processor_1"> <type>messageTracker</type> <role>messageTracker:global</role> <trackingVariableGroup> <trackingVariable> <role>tracking_var_1</role> <primary>true</primary> <name>tracking_var_1</name> <output name="output_3"> <messageContextRef refUri="messagecontext_2"/> </output> </trackingVariable> <trackingVariable> <role>tracking_var_2</role> <primary>false</primary> <name>tracking_var_2</name> <output name="output_5"> <messageContextRef refUri="messagecontext_4"/> </output> </trackingVariable> <trackingVariable> <role>tracking_var_3</role> <primary>false</primary> <name>tracking_var_3</name> <output name="output_7"> <messageContextRef refUri="messagecontext_6"/> </output> </trackingVariable> </trackingVariableGroup> </processor> <processor name="processor_19"> <type>transformer</type> <role>transformer:response-map</role> <resourceGroup name="resourcegroup_22"> <resource name="resource_23" location="../resources/processor_19/resourcegroup_22/req_de8ec82b6bfb42da9111bce9ee4ba445.xsl" type="xslt"/> </resourceGroup> <input name="input_20"> <messageContextRef refUri="messagecontext_15"/> </input> <output name="output_21"> <messageContextRef refUri="messagecontext_13"/> </output> <property name="has-mappings" value="false"/> </processor> <messageContext name="messagecontext_2"> <rootElement elementName="string" namespace="http://www.w3.org/2001/XMLSchema"/> </messageContext> <messageContext name="messagecontext_4"> <rootElement elementName="string" namespace="http://www.w3.org/2001/XMLSchema"/> </messageContext> <messageContext name="messagecontext_6"> <rootElement elementName="string" namespace="http://www.w3.org/2001/XMLSchema"/> </messageContext> <messageContext name="messagecontext_13"> <resourceRef refUri="application_8/outbound_9/resourcegroup_10/resource_12"/> <rootElement elementName="executeResponse" namespace="http://xmlns.oracle.com/cloud/adapter/REST/te_REQUEST/types"/> <wsdlMessage messageName="executeResponseMessage" namespace="http://xmlns.oracle.com/cloud/adapter/REST/te_REQUEST" partName="parameters"/> </messageContext> <messageContext name="messagecontext_15"> <resourceRef refUri="application_8/outbound_9/resourcegroup_10/resource_12"/> <rootElement elementName="execute" namespace="http://xmlns.oracle.com/cloud/adapter/REST/te_REQUEST/types"/> <wsdlMessage messageName="executeRequestMessage" namespace="http://xmlns.oracle.com/cloud/adapter/REST/te_REQUEST" partName="parameters"/> </messageContext> <messageContext name="messagecontext_17"> <resourceRef refUri="application_8/outbound_9/resourcegroup_10/resource_12"/> <rootElement elementName="APIInvocationError" namespace="http://xmlns.oracle.com/cloud/generic/rest/fault/REST/te"/> <wsdlMessage messageName="APIInvocationError" namespace="http://xmlns.oracle.com/cloud/adapter/REST/te_REQUEST" partName="parameters"/> <wsdlFault faultName="APIInvocationError" namespace="http://xmlns.oracle.com/cloud/adapter/REST/te_REQUEST"/> </messageContext> <commonNamespaceMaps/> <orchestration> <receive id="r0" refUri="application_8/outbound_9/output_16" trackingRefUri="processor_1"/> <transformer id="m0" refUri="processor_19"/> <reply id="y0" refUri="application_8/outbound_9/input_14"/> </orchestration> </ns1:icsflow> </ns1:icsproject>
您的文件将具有类似的结构,但价值方面看起来不像我的。你需要做的就是找到 <name> 元素嵌套在 <adapter> 元件。对你来说,应该读取值 AccountCreateEvent 。将该值更改为您希望新名称的任何值。
<name>
<adapter>
重新包装你的 iar 文件包含新的 project.xml中 文件。返回到Integration Cloud设计控制台并再次下载集成(作为备份),然后将其删除。现在导入更新集成。打开集成,您的app适配器现在将显示更新的名称。
Oracle的Integration Cloud Service实际上只是一个简化的,基于云的改编版 Oracle Service Bus (略 OSB )。 OSB是Oracle SOA的集成组件(一套构成完整服务的平台的应用程序)。 ICS在运行OSB的Oracle Linux VM上运行。您的集成实际上只是OSB组合,并且实际上在OSB上运行(OSB完全安装在运行ICS的VM上)。如果您需要校样,请导航至 https://开头的实例名称:443 / SOA的红外 您将看到您的集成列为SOA组合。
如果您是最新的ICS下划线运行时是SOA 12c(可能是12.2.1)。如果您真的想熟悉ICS平台,我建议您下载 适用于12c的Oracle SOA套件 (基于JDeveloper的IDE,预安装了所有SOA插件)。然后在ICS内部查找和集成 下载工件 (不是出口)。
安装JDeveloper(需要几个小时)然后打开JDeveloper并创建一个新的 带有Service Bus项目的Oracle Service Bus应用程序
导入新的服务总线资源
选择资源/ zip然后找到您的zip工件。
您的项目现在看起来像这样
您现在已将ICS集成转换为SOA组合!您可以在此处进行相同的编辑,但更重要的是,它将允许您检查下划线结构,查看它如何适合OSB / SOA等.ICS是一个很好的工具,适用于简单的项目,但如果您需要做更复杂的事情您绝对需要了解下划线SOA运行时,并利用它来扩展ICS / OIC Web界面上不存在的功能。
作为旁注,这也可以通过将应用程序导出为Process Cloud来完成 exp 并将其作为BPM项目导入。
exp