Использование MEL для получения URL-адреса в HTTP OUTBOUND ENDPOINT

У меня есть требование, где я должен использовать службу отдыха через HTTPS, и я должен получить URL во время выполнения. Чтобы сделать то же самое, я устанавливаю REST 'url' как исходящее свойство, и я пытаюсь получить это, используя MEL

#[message.outboundProperties.'url'

При попытке сделать, как я сказал выше, я получаю ошибку времени компиляции, которая упоминается ниже

org.springframework.beans.MethodInvocationException: Property 'protocol' threw exception; nested exception is java.lang.IllegalArgumentException: Address '#[message.outboundProperties.'url']' for protocol 'http' should start with http://

Я делаю что-то не так? или есть лучший способ для достижения этого требования, кроме этого?

 <https:outbound-endpoint exchange-pattern="request-response"
         method="GET" doc:name="HTTPs with Auth header" address="#[message.outboundProperties.'url']" connector-ref="HTTP_HTTPS"/>

    <https:connector name="HTTP_HTTPS" cookieSpec="netscape" validateConnections="true" sendBufferSize="0" receiveBufferSize="0" receiveBacklog="0" clientSoTimeout="10000" serverSoTimeout="10000" socketSoLinger="0" doc:name="HTTP-HTTPS">
        <https:tls-key-store path="#[message.outboundProperties.'Storepath']" keyPassword="#[message.outboundProperties.'storepassword']" storePassword="#[message.outboundProperties.'storepassword']"/>
        <https:tls-server path="#[message.outboundProperties.'Storepath']" storePassword="#[message.outboundProperties.'storepassword']"/>
    </https:connector>

1 ответ

Решение

Компоненты Http требуют статического HTTP:// в качестве начала URL, поэтому работает ниже

<http:outbound-endpoint exchange-pattern="request-response" method="GET" address="http://#[message.outboundProperties.'url'] " doc:name="HTTP"/>
Другие вопросы по тегам