Я изучаю этот материал для сертификации WSO2 ESB:
https://wso2.com/training/enterprise-integrator-developer-fundamentals#request_training_enroll
В разделе "Download Lab kit" есть учебное пособие о том, как установить Входящую конечную точку . По сути, это просто объявление Входящая конечная точка для этого предыдущего реализованного учебного проекта:
https://docs.wso2.com/display/EI611/Sending+a+Simple+Message+to+a+Service
Я сделал это, и он отлично работает, в основном в моем проекте у меня есть этот REST API:
<?xml version="1.0" encoding="UTF-8"?>
<api context="/healthcare" name="HealthcareAPI" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="GET" uri-template="/querydoctor/{category}">
<inSequence>
<log description="Request Log" level="custom">
<property name="message" value="Welcome to HealthcareService"/>
</log>
<send>
<endpoint key="QueryDoctorEP"/>
</send>
</inSequence>
<outSequence>
<send/>
</outSequence>
<faultSequence/>
</resource>
</api>
, который можно напрямую вызвать этим утверждением:
curl -v http://localhost:8280/healthcare/querydoctor/surgery
Затем я добавил Входящую конечную точку в проект:
<?xml version="1.0" encoding="UTF-8"?>
<inboundEndpoint name="QueryDoctorInboundEndpoint" protocol="http" suspend="false" xmlns="http://ws.apache.org/ns/synapse">
<parameters>
<parameter name="inbound.http.port">8285</parameter>
<parameter name="dispatch.filter.pattern">/healthcare/querydoctor/.*</parameter>
</parameters>
</inboundEndpoint>
это означает, что я могу позвонить в эту службу, используя также этот новый сопоставленный URL:
curl -v http://localhost:8285/healthcare/querydoctor/surgery
Я использую другой порт, потому что эта входящая конечная точка выполняет это сопоставление:
<parameter name="dispatch.filter.pattern">/healthcare/querydoctor/.*</parameter>
Я сомневаюсь: почему я должен использовать Входящую конечную точку вместо классического URL моего REST API? Каковы преимущества или возможные варианты использования?
Я пытался прочитать официальную страницу документации об этом типе конечной точки:
https://docs.wso2.com/display/ESB490/Working+with+Inbound+Endpoints
но у меня много сомнений, он говорит:
Входящая конечная точка - это точка входа сообщения, которая может вводить сообщения.
непосредственно с транспортного уровня на уровень передачи без
проходя через двигатель Оси.
Мой API - это служба REST, почему он должен проходить через AXIS? (Из того, что я знаю, AXIS - это технология SOAP WS.) Чего мне не хватает? И какая выгода от того, что не пройдете двигатель Axis?
Другое сомнение: посреднический уровень - это моя последовательность API, содержащая посредник, но что это за транспортный уровень?
Тогда также указывается:
Из существующих транспортов поддерживается только транспорт HTTP
мультитенантность, это одно ограничение, которое преодолевается
внедрение входящей архитектуры.
Что это значит? Я не получаю это ограничение.
В конце также указывается:
Еще одно ограничение, когда речь заходит об обычной базе Axis2
транспорты в том, что транспорты не поддерживают динамический
конфигурации. С входящими конечными точками можно создать
каналы входящих сообщений динамически, а также есть встроенный
координация кластера, а также поддержка нескольких арендаторов для всех
транспортирует.
Что это значит?
Мне кажется, что в этом руководстве нет реальной необходимости (кроме демонстрационных целей) использовать входящую конечную точку. Не так ли?
В случае, если какая-то входящая конечная точка использует сценарий реального случая?