Мое требование - вызвать защищенный бэкэнд-сервис через WSO2 EI 6, поэтому я попытался добавить посредник Property и посредник заголовка, как показано ниже, но я не могу получить доступ к защищенному API.
<header name="Authorization" scope="transport" value="Bearer 1e127891-c430-3312-87ab-a2ba23ef8a4d"/>
Весь API выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<api context="/nexgen" name="ChainApis" publishSwagger="nexgen" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="GET" uri-template="/getProviders">
<inSequence>
<header name="Authorization" scope="transport" value="Bearer 1e127891-c430-3312-87ab-a2ba23ef8a4d"/>
<send>
<endpoint key="LdapTest"/>
</send>
</inSequence>
<outSequence>
<log>
<property name="checklist" value="after call"/>
</log>
<send/>
</outSequence>
<faultSequence/>
</resource>
</api>
А конечная точка выглядит следующим образом.
<endpoint name="LdapTest" xmlns="http://ws.apache.org/ns/synapse">
<http method="get" uri-template="https://******/***/1.0/getLdapUserData?userName=suresh">
<suspendOnFailure>
<initialDuration>-1</initialDuration>
<progressionFactor>1.0</progressionFactor>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
</markForSuspension>
</http>
</endpoint>
I even tried with the below property mediator too
<property expression="fn:concat('Bearer ', 'db9df6c0-dfd4-3fde-ba0f-b9a524f0c9b0')" name="Authorization" scope="transport" type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
the below is the log i get in my log file.
TID: [-1234] [] [2020-02-07 14:35:56,703] INFO {org.apache.synapse.mediators.builtin.LogMediator} -
To: /nexgen/getProviders, MessageID: urn:uuid:c0409753-deb4-4c28-8d1e-23db599b4296,
Direction: request, Envelope:
<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body/>
</soapenv:Envelope>
{org.apache.synapse.mediators.builtin.LogMediator}