IIB - BIP4761E: Поток сообщений попытался использовать политику «SecurityProfiles» - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь установить аутентификацию LDAP в REST API Pet Store в IBM App Connect v11.0.0.6 Для этого я следовал этому руководству:

Создание профиля безопасности для LDAP

Я сделал BAR-файл из моего "любимого" REST API, развернул политику на том же узле интеграции, затем в свойствах потока попытался выбрать мой ldapPolicy, но он не было Когда я ввожу его вручную и выполняю развертывание, я получаю эту ошибку:


Begin running task [Deploying [pet.bar] to integration server [InteriorIntegration]]

The BAR file C:/WorkDir/workspace/pet/pet.bar has been deployed to InteriorIntegration but there were one or more failures which may mean the deployed resources will be unable to execute. 

The following message was received:

BIP9339W: The values defined in the policy(s) 'ldapPolicy' in policy project 'ldapTest' match the values of the existing policy(s). Any deployed resources using the policy(s) will not be affected by the redeploy of the policy project. 
BIP4761E: The message flow attempted to use 'SecurityProfiles' policy 'ldapPolicy', which has not been defined in the integration server. 
BIP9320E: Message Flow 'gen.pet', 'gen.pet' encountered a failure and could not start. 
BIP4761E: The message flow attempted to use 'SecurityProfiles' policy 'ldapPolicy', which has not been defined in the integration server. 
BIP4761E: The message flow attempted to use 'SecurityProfiles' policy 'ldapPolicy', which has not been defined in the integration server. 
BIP9320E: Message Flow 'gen.pet', 'gen.pet' encountered a failure and could not start. 
BIP4761E: The message flow attempted to use 'SecurityProfiles' policy 'ldapPolicy', which has not been defined in the integration server. 
BIP9333W: RestAPI 'pet' has been changed but contains errors which has prevented some resources from starting. 
BIP1096E: The source 'pet.bar' has been deployed but there were one or more failures which may mean the deployed resources will be unable to execute. 

The task did not complete successfully: The deployment was partially successful. Check error messages for explanation.

И вот моя политика XML:

<?xml version="1.0" encoding="UTF-8"?>
<policies>
  <policy policyType="SecurityProfiles" policyName="ldapPolicy" policyTemplate="SecurityProfiles">
    <authentication>LDAP</authentication>
    <authenticationConfig>ldap://example.com:389/ou=example</authenticationConfig>
    <mapping>NONE</mapping>
    <mappingConfig></mappingConfig>
    <authorization>LDAP</authorization>
    <authorizationConfig>ldap://example.com:389/ou=example</authorizationConfig>
    <propagation>false</propagation>
    <idToPropagateToTransport>Message ID</idToPropagateToTransport>
    <transportPropagationConfig></transportPropagationConfig>
    <keyStore>Reserved for future use</keyStore>
    <trustStore>Reserved for future use</trustStore>
    <passwordValue>PLAIN</passwordValue>
    <rejectBlankpassword>true</rejectBlankpassword>
  </policy>
</policies>

Чего мне не хватает?

Примечание:

BIP9339W: The values defined in the policy(s) 'ldapPolicy' in policy project 'ldapTest' match the values of the existing policy(s). Any deployed resources using the policy(s) will not be affected by the redeploy of the policy project. 

РЕДАКТИРОВАТЬ: Я думаю, что вышеупомянутая ошибка происходит, потому что ldapTest уже развернут (?). Если так, то почему я не могу выбрать эту политику в раскрывающемся профиле безопасности?

Ошибка из журналов событий:

( Int01.InteriorIntegration ) The message flow attempted to use ''SecurityProfiles'' policy ''ldapPolicy'', which has not been defined in the integration server.   

Policies need to be set on the integration server. Use the administrative REST API to check that a '''SecurityProfiles'' policy called ''ldapPolicy' exists.   

Use the toolkit to create the required policy and deploy it to the integration server, or adjust the message flow to avoid requiring the policy.  

1 Ответ

0 голосов
/ 12 марта 2020

После нескольких дней попыток найти ответ в документах и ​​проб и ошибок я обнаружил, что для задания поля «Имя профиля безопасности» необходимо использовать специальный синтаксис:

{PolicyProjectName}:PolicyName

Так, например, если вы создаете и развертываете проект MyPolicies и хотите использовать политику MyPolicy, вам нужно ввести имя профиля безопасности:

{MyPolicies}:MyPolicy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...