webmethods IS pub.client http не соответствует стандартам HTTP-клиента? - PullRequest
0 голосов
/ 18 декабря 2018

Проблема: HTTP-клиент Webmethods вызывает неправильную конечную точку на моем сервере Apache, настроенном с несколькими виртуальными хостами на основе DNS.

Что я думаю происходит: Я думаю, что HTTP-клиент Webmethods может искать IP-адрес и использовать его для выполнения HTTP-операций вместо использования DNS-имени, что заставляет сервер Apache идентифицировать его как запрос к главному виртуальному серверу, а не желаемый..

Вопрос : Итак, как я могу заставить веб-методы использовать имя DNS вместо IP?Верна ли моя теория о HTTP-клиенте Webmethods?Насколько я могу судить, это очень нестандартный подход к разработке HTTP-клиента.

Вот как он настроен, чтобы помочь вам лучше понять:

Apache ->
  host.example.com => /var/www/host/html
  host2.example.com => /var/www/host2/html

curl -v http://host.example.com иcurl -v http://host2.example.com надлежащим образом вернуть документы из соответствующих каталогов.

При настройке pub.client:http с http://host2.example.com сервер IS веб-методов запрашивает http://host.example.com документов (что, очевидно, приводит к 404: не найдено).

Обратите внимание, что, очевидно, система не возвращает документы, такие как HTML, а скорее предоставляет динамический контент.

1 Ответ

0 голосов
/ 19 декабря 2018

Комментарий от Progman является ключом здесь - в основном, чтобы дать Apache команду вызывать ваш виртуальный сервер, заголовок Host должен быть задан с ожидаемым значением.В моем примере это будет Host: host2.example.com.У меня были веб-методы, которые копировали заголовки точно так же, как я отправлял их из curl, и он отправлял Host: localhost:5555 на мой прокси-сервер.Я просто создал операцию конвейерной карты и жестко запрограммировал ее, и теперь она работает нормально.

Мне кажется странным то, что pub.client: http не установил для меня заголовок Host автоматически, основываясь на значении 'url', чего я и ожидал.

...