Я пытаюсь вызвать API Rest из потока в муле. Этот API имеет базовый протокол аутентификации, поэтому мне нужно отправить заголовок «Авторизация: Basic XXXXXXX».
Проблема, с которой я столкнулся, заключается в том, что в Anypoint Studio, когда я настраиваю HTTP-запрос, я не получаю опцию Basic Auth на вкладке Authentication, я вижу только NTLM.
в http: request-config, и он тоже не работает.
Это конфигурация Mule:
< http:listener-config name="Gateway" host="localhost" port="8281" basePath="/base" doc:name="HTTP Listener Configuration"/>
< http:request-config name="OFSC" host="api.etadirect.com" basePath="/rest/ofscCore/v1" doc:name="HTTP Request Configuration" port="443" protocol="HTTPS">
< http:basic-authentication username="${ofsc.clientId}@${ofsc.instance}" password="${ofsc.clientKey}"/>
< /http:request-config>
< spring:beans>
< spring:bean id="Bean" name="BasicAuthEncode" class="tools.BasicAuthEncode" />
< /spring:beans>
< context:property-placeholder location="env.properties"/>
<flow name="TestFlow">
<http:listener config-ref="Gateway" path="/test" doc:name="HTTP">
<http:response-builder disablePropertiesAsHeaders="true"/>
<http:error-response-builder disablePropertiesAsHeaders="true"/>
</http:listener>
<invoke object-ref="BasicAuthEncode" method="encodeCredentials" doc:name="LPM" methodArgumentTypes="java.lang.String" methodArguments="${ofsc.clientId}@${ofsc.instance}:${ofsc.clientKey}" name="LPM2"/>
<set-variable variableName="credentials" value="Basic #[message.payloadAs(java.lang.String)]" doc:name="Creds"/>
<http:request config-ref="OFSC" path="/activities/3818" method="GET" doc:name="HTTP">
<http:request-builder>
<http:header headerName="Content-Type" value="application/json"/>
</http:request-builder>
<http:success-status-code-validator values="200,400,401,404,403"/>
</http:request>
<logger message="#[message.payloadAs(java.lang.String)]" level="INFO" doc:name="Logger"/>
</flow>
Я, вероятно, делаю что-то неправильно, но не могу найти ответ. Надеюсь, вы, ребята, можете помочь мне
Спасибо