Я оцениваю использование Riftsaw и следую руководству по началу работы:
http://docs.jboss.org/riftsaw/releases/2.3.0.Final/gettingstartedguide/html/examples.html#d0e240
Я установил JBossAS 6, JBoss ESB 4.10 и Riftsaw 2.3.0 на свой сервер (назовем его server1, с IP 10.0.0.1, полное доменное имя server1.domain.com) и могу получить доступ к консоли администратора как с server1, так и с моего разработка ПК. Я развернул пример быстрого запуска «Hello World», и я могу просматривать WSDL с обоих компьютеров в веб-браузере с server1: 8080 / Quickstart_hello_worldWS? Wsdl. На server1 я также могу использовать localhost: 8080 / Quickstart_hello_worldWS? Wsdl (предположим, что URL-адреса имеют префикс http: // - как новый пользователь я ограничен двумя гиперссылками).
Я пытаюсь использовать soapUI для проверки вызова службы. Я создаю новый проект sopaUI, ввожу server1: 8080 / Quickstart_hello_worldWS? Wsdl в поле «Начальный WSDL / WADL» и получаю сообщение об ошибке «Неожиданный элемент: CDATA». При просмотре журнала http soapUI получает HTML со следующими данными:
404 Не Найдено
Контекст для запроса не найден
Это происходит на обоих моих ПК для разработки и сам server1.
Если я создаю проект soapUI на server1 с помощью localhost: 8080 / Quickstart_hello_worldWS? Wsdl, он успешно обрабатывает WSDL и создает образец запроса. Однако конечной точкой для этого запроса (в WSDL) является SERVER1: 8080 / Quickstart_hello_worldWS, и если я попытаюсь отправить его, будут возвращены данные «404». Используя soapUI, я вручную отредактировал конечную точку как localhost: 8080 / Quickstart_hello_worldWS, и она работает, возвращая ожидаемый ответ.
Я также получал страницу «404», когда делал следующее:
Итак, мой вопрос: почему soapUI может только читать WSDL и отправлять запрос с помощью «localhost» и как я могу это сделать, используя DNS-имя сервера?
Я проверил HTTP-запросы GET, отправленные IE, Firefox и soapUI, и обнаружил, что soapUI отправлял запрос на IPv4-адрес server1, тогда как IE и Firefox отправляли его на IPv6-адрес. Я установил для параметра network.dns.disableIPv6 значение ИСТИНА в файле Firefox about: config, после чего Firefox получил ту же ошибку 404, что и soapUI.
До сих пор я запускал JBoss, привязанный ко всем сетевым интерфейсам:
.\run.bat -b 0.0.0.0
Мне удалось обойти эту проблему, привязав JBoss к IPv4-адресу server1:
.\run.bat -b 10.0.0.1