Короткий ответ
Если вы используете Integration Cloud Service или Oracle Integration Cloud, в веб-интерфейсе нет функции, позволяющей изменить имя адаптера внутри интеграции. Эти имена предназначены только для целей документирования и не предоставляют никаких функциональных ценностей, кроме читабельности и условности. Однако, если вы похожи на меня, вы цените удобство и читабельность.
Более длинный ответ
Существует способ изменить имя, экспортировав или загрузив артефакт OSB. Я опишу, как сделать это вручную, затем приведу краткое описание того, как сделать это более подходящим способом (с некоторой справочной информацией о том, что ICS на самом деле находится под одеялом). Кроме того, если вы не получаете никаких ответов от переполнения стека, Oracle имеет очень активный форум Customer Cloud Connect , и вы также можете разместить SR
1. Вручную
Вы можете обновить имя вручную, изменив подчеркивающий XML экспортного проекта. Сначала экспортируйте ваш проект, как показано ниже
При экспорте будет загружен файл с расширением iar
. Это сжатый файл, поэтому распакуйте его (или откройте его с помощью 7z, winrar и т. Д.). Вы должны увидеть следующие структуры каталогов
|-- 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 . Измените это значение на любое новое имя.
Перепакуйте файл iar
, чтобы включить новый файл project.xml . Вернитесь в консоль проектирования Integration Cloud, снова загрузите интеграцию (в качестве резервной копии) и удалите ее. Теперь импортируйте интеграцию обновлений. Откройте интеграцию, и в вашем адаптере приложения отобразится обновленное имя.
2. JDeveloper и OSB
Oracle Integration Cloud Service - это просто упрощенная облачная адаптация Oracle Service Bus (сокращенно OSB ). OSB является интеграционным компонентом Oracle SOA (набора приложений, которые составляют платформу с полным сервисом). ICS работает на виртуальной машине Oracle Linux с OSB. Ваши интеграции на самом деле являются просто OSB-композитами и фактически работают на OSB (которая полностью установлена на виртуальной машине, на которой работает ICS). Если вам нужны доказательства, перейдите к https://your -instance-name: 443 / soa-infra , и вы увидите, что ваша интеграция указана как составная часть SOA.
Если вы используете последнюю версию, ваша среда выполнения ICS должна быть SOA 12c (вероятно, 12.2.1). Если вы действительно хотите ознакомиться с платформой ICS, я предлагаю вам загрузить Oracle SOA Suite для 12c (IDE на основе JDeveloper со всеми предварительно установленными плагинами SOA). Затем внутри ICS найдите и интегрируйте и загрузите артефакты (не экспортируйте).
Установите JDeveloper (это займет несколько часов), затем откройте JDeveloper и создайте новое Приложение Oracle Service Bus с проектом Service Bus
Импорт нового ресурса служебной шины
Выберите Resource / zip, затем найдите свой zip-артефакт.
Ваш проект теперь будет выглядеть так
Вы теперь превратили свою интеграцию ICS в композит SOA! Вы можете сделать те же правки здесь, но что более важно, это позволит вам проверить структуру подчеркивания, посмотреть, как она соответствует OSB / SOA и т. Д. ICS - отличный инструмент для простых проектов, но если вам нужно сделать более сложные вещи вам абсолютно необходимо понять, как работает исполняемый SOA, и использовать его для расширения функциональности, отсутствующей в веб-интерфейсе ICS / OIC.
В качестве примечания, это также можно сделать с помощью Process Cloud, экспортировав приложение как exp
и импортировав его как проект BPM.