У мене є таке ж додаток mule webservice with2 різні версії розгорнуті на одному сервері mule. Назвемо його MuleApp.1.0 і MuleApp.1.1. Потік настільки ж простий, як приклад потоку веб-сервісу на веб-сайті mulesoft.
http://www.myhost.com:25101/MuleApp.1.0/Service?wsdl
http://www.myhost.com:25101/MuleApp.1.1/Service?wsdl
Обидва вони працюють, як і очікувалося, колиінше не розгортається на сервері mule. Проблема виникає, коли я маю обидва з них розгорнуті на тому ж сервері-муле, як те, що я робив в WebLogic. Тепер я можу отримати доступ до MuleApp.1.1, але коли я спробував отримати доступ до MuleApp.1.0, я отримав помилку, як показано нижче
07-Mar-2013:14:52:57.142 VWILVM3667 [MuleApp.1.1].connector.http.mule.default.receiver.03
WARN org.mule.transport.http.HttpMessageReceiver NA
No receiver found with secondary lookup on connector: connector.http.mule.default with URI key: http://www.myhost.com:25101/MuleApp.1.0/Service
Це повинно бути дуже поширеним варіантом. Що я пропустив у своєму конфіг?
Відповіді:
1 для відповіді № 1У тому ж екземплярі Mule не можна використовувати дві різні програми, що використовують один і той же порт HTTP.
Так що, ймовірно, відбувається саме так MuleApp.1.0
не розгортається належним чином (перевірте журнали), тому не слухається кінцева точка /MuleApp.1.0
.
Або:
- Використовуйте інший порт у двох програмах,
- Покладіть обидва потоки в одне додаток.
- Створіть фронтальну програму, яка слухає порт 25101 і обидва
/MuleApp.1.0
і/MuleApp.1.1
шляхи і що надсилає запити доMuleApp.1.0
іMuleApp.1.1
на приватних портах (скажімо, 25102 та 25103).
1 для відповіді № 2
Я нарешті розгорнув мою заявку на tomcat, ізамінена HTTP вхідна кінцева точка з вхідною кінцевою точкою сервлету. Я настрою web.xml з класом сервлетів org.mule.transport.servlet.MuleReceiverServlet. Тепер я можу розгорнути кілька додатків на одному і тому ж порту.