Как я могу опубликовать файл XML в веб-контексте - PullRequest
0 голосов
/ 05 октября 2009

У нас есть локальная база данных наших продуктов без цены. Чтобы узнать цену, нам нужно отправить XML-файл, содержащий идентификатор продукта и учетные данные нашей компании для производителя. Производитель отправит обратно тот же XML-файл и добавит цену в новом теге. Мне нужно разобрать этот файл, чтобы узнать цену.

Вот часть спецификации производителя:

Клиент должен сначала создать XML-документ запроса (см. Конкретные примеры ниже).

Как только XML-документ создан, клиентское программное обеспечение должно инициировать HTTPS-соединение с сервером. Клиент должен представить свой клиентский сертификат как часть этого процесса, чтобы аутентифицировать себя на сервере. Если аутентификация сертификата клиента невозможна, тогда поля UserID и Password в XML должны быть заполнены допустимой комбинацией UserID / пароль на сервере.

После того, как сеанс HTTPS установлен, клиент должен отправить XML-документ на сервер.

Сервер обработает документ и вернет любую информацию, которую он может предоставить. Важно отметить, что сервер не будет создавать новый документ, но будет добавлять информацию в документ запроса. Затем клиент должен проанализировать этот XML документ для извлечения необходимой информации.

Я думал об использовании AJAX для этого. Но через пару минут я понял, что не могу этого сделать по следующей причине:

  • Невозможно использовать поперечный AJAX
  • Я не могу создать XML-файл в JavaScript
  • Учетные данные будут в открытом тексте в файле XML

Я не думаю, что смогу сделать это и с PHP (на стороне сервера).

Является ли мой последний вариант апплетом Java или Flash ActionScript? Как бы вы это сделали?

Ответы [ 2 ]

1 голос
/ 05 октября 2009

Отправьте ключевые параметры для запроса на сервер, используйте HttpClient или Apache Axis на сервере, чтобы создать запрос для производителя и опубликовать его. Соберите результат (снова на сервере), обработайте его и отправьте цену обратно в браузер.

0 голосов
/ 05 октября 2009

Как часто это должно происходить? Один раз в день? Каждый запрос?

Я бы сделал все это за кулисами с помощью чего-то вроде cURL в PHP или LWP в Perl. Я уверен, что есть что-то подобное в Java.

Я не думаю, что вы можете сделать это на стороне клиента. Даже если бы вы могли, вы, вероятно, не должны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...