Я пытаюсь получить динамический адрес для моей входящей конечной точки http для службы SOAP.
<http:inbound-endpoint exchange-pattern="request-response" address="#[app.registry.appversion.getNewAddress()]" doc:name="HTTP"/>
Контекст Spring имеет определение bean-компонента:
<bean id="appversion" class="com.visit.util.Application">
getNewAddress() в классе Application возвращает строку.
Однако он выдает исключение как:
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'protocol' threw exception; nested exception is java.lang.IllegalArgumentException: Address '#[app.registry.appversion.getNewAddress()]' for protocol 'http' should start with http://
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:102)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393)
... 38 more
Похоже, что MEL не оценивается и рассматривается как буквальная строка. Я что-то пропустил? Любая помощь приветствуется. Заранее спасибо.
<http:inbound-endpoint exchange-pattern="request-response" address="#{appversion.getNewAddress()}" doc:name="HTTP"/>
Не знаю, как поставить лайк в комментарии, но спасибо за помощь. - person Pratik   schedule 28.04.2015