Как получить информацию из MS Word на сервер на основе Java

У меня есть текстовый документ, данные в слове должны попасть на сервер одним нажатием кнопки. «Кнопка» подразумевает VBA.

Мне было интересно, было бы неплохо использовать SOAP для этого. Но кто-то предложил FTP (чего я не очень понял).

Я также думал об использовании XML-RPC.

может кто-нибудь пролить свет? ваше здоровье


person Marci-man    schedule 12.10.2011    source источник
comment
Сколько данных вам нужно отправить, когда вы нажимаете кнопку? Мы говорим о паре значений или о страницах данных?   -  person barrowc    schedule 12.10.2011
comment
нет, не так много данных... всего от 10 до 15 значений   -  person Marci-man    schedule 12.10.2011
comment
Посмотрите на stackoverflow.com/questions/4158492/ Этот ответ использует VBA для отправки запроса GET на сервер. Возможно, вы могли бы адаптировать это для своих целей.   -  person barrowc    schedule 14.10.2011


Ответы (1)


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

Если вам нужно передать весь документ Word как таковой, используйте протокол передачи файлов (FTP) или прямое соединение через сокет TCP.

Если вам нужны данные из документа Word, вы можете сериализовать их в машиночитаемом формате, например XML, и отправить на сервер с помощью протокола передачи гипертекста (HTTP) для простоты.

XML-RPC и SOAP могут быть слишком тяжелыми и, возможно, не соответствовать уровню абстракции для вашей задачи.

Да, и на стороне клиента: выберите средства разработки на стороне клиента после выбора транспортного механизма. Некоторые языки и фреймворки лучше подходят для разных задач, чем другие.

person supertopi    schedule 12.10.2011
comment
поэтому я предполагаю, что легко отправлять данные из VBA через HTTP. - person Marci-man; 12.10.2011
comment
Клиентская сторона должна быть VBA, так как мне нужно получить данные из документа Word (а не всего документа). Сервер основан на Java, я знаю по крайней мере эту часть ... так что это будет означать, что программа Java прослушивает порт 80 (или, возможно, 443 для HTTPS)? - person Marci-man; 12.10.2011
comment
И VB, и Java способны формировать, отправлять и получать пакеты HTTP. Microsoft System.Web содержит класс HttpRequest, а Java содержит различные классы для реализации HTTP-сервера. - person supertopi; 12.10.2011
comment
что вы имеете в виду HTTP-сервер? Мы говорим о соединениях на уровне сокетов или о чем-то более высоком? Можно ли использовать эти HTTP-серверы на Java отдельно или мне нужно написать метод для этого? Ключевое слово было бы очень хорошо! - person Marci-man; 12.10.2011