Страницы: 1
RSS
Выгрузить данные XML на веб-сервис, используя WS-ссылку
 

Коллеги, день добрый, подскажите, можно ли отправить данные XML на веб-сервис по WS-ссылке? Я нагуглил только пример по получению данных, а нужно отправить. Вообще реально ли это?

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

 

Вообще в описании веб-сервиса должно быть указано, какие методы что делают. Затем на нужный метод передать свои данные "Прокси.<имя_метода(параметры)>"

Все необходимые данные есть в wsdl - для этого он и нужен. Наверняка имя метода есть и где-то в прокси, который создаешь из ссылки. Но это не имеет значения. После того как прочитал xml вызывай метод.

 

Вот если посмотреть в конфигураторе WS ссылку, там есть методы. Вот меня интересует метод InsertOrders. Но как его применить, хз.

Если я пробую это делать по вашему комментарию типа Прокси.InsertOrders(ЧтениеXML), то получаю ошибку «Ошибка при вызове метода контекста», а если посмотреть детально эту ошибку, то по причине « Несоответствие типов (параметр номер '1')».

 

Вот смотрите. У меня лично есть веб-сервис и там один входной параметр PaymentData с типом Message. Объект Message, в свою очередь, состоит из трех параметров. Так как данный пакет у меня универсальный и используется и в других методах, то в данном случае я заполняю только Documents (тип СписокXDTO). Заполняю я его данными объекта PaymentsData.

Если же у вас несколько параметров, то смотрите, какого они типа и, если это простой тип (строка, число, булево), то заполняете его сразу соответствующими данными. Если же это сложный тип, то создаете XDTOОбъект нужного типа и заполняете его данными. И так, пока не разложите все на параметры с простым типом.

 

Если вам нужно, чтобы данные в формате XML ушли на внешний веб-сервис, не файл XML, а просто XML, то сделайте POST, GET запрос. Да и сам XML не обязательно в файл сохранять.

ДанныеВыгрузки = Новый ЗаписьXML.

Вообще если нужно подобрать данные к выгрузке, то запустите команду «Подобрать документы», она формирует таблицу получения данных пользовательского выбора. По сути это таблица данных выгрузки передаваемая при произвольном запуске обработке. Далее, данные этой таблицы можно использовать во вложенных запросах правила обмена.

Затем вступает в действие команда «Выгрузить» - инициализирует отправку данных. Сервис будет выбран автоматически в соответствии с выбранным наименованием обмена.

После этого поработайте с группой команд «Дополнительно»  и полем ввода  «Вид Обмена» - список выбора соответствует значениями колонки «Наименование обмена» таблицы «Получение данных для пользовательского выбора».

 

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

Кстати, саму то ссылку создавать вы умеете? Создать WS-ссылку проще простого, для этого достаточно знать URL подключаемого ресурса. При добавлении новой ссылки система спросить адрес и все сделает самостоятельно.

WS-ссылка недоступна для редактирования, однако можно просмотреть ее структуру и структуру типов данных, которые используются для описания параметров и возвращаемых значений.

 

Вообще для того, чтобы добавить новую статическую ссылку на сторонний Web-сервис 1С, необходимо в ветке «Общие» →«WS-ссылки» вызовом контекстного меню выбрать команду «Добавить» или в меню «Действия» нажать на соответствующую кнопку.

В открывшуюся форму необходимо вставить адрес описания URL Web-сервиса 1С, который хотим добавить. При добавлении новой «WS-ссылки» указывается путь к WSDL описанию Web-сервиса 1C.

При добавлении «WS-ссылки» нужно помнить, что «1С: Предприятие» удаляет из введенного URL завершающий символ «/».В результате добавления WS-ссылки будет автоматически создана такая же структура, как при создании Web-сервиса 1C вручную. Дальнейшая работа с такой ссылкой выполняется с помощью встроенного языка.

Вообще просто запомните, что платформа 1С позволяет разработчику вызывать Web-сервисы, предоставляемые другими поставщиками, двумя способами с помощью статических ссылок, создаваемых в дереве объектов конфигурации и с помощью динамических ссылок, создаваемых средствами встроенного языка.

 

Еще момент. Для использования Web-сервиса XML его прежде необходимо найти с помощью механизма обнаружения. Чтобы задействовать Web-сервис XML, созданный другим программистом, нужно знать, где находится этот сервис и подходит ли он вам. Если адрес сервиса неизвестен, можно найти его через UDDI.

Объект класса прокси преобразует вызовы методов Web-сервиса XML в сообщения запроса, а сообщения отклика — в возвращаемые значения методов, доступные клиентскому приложению.

Создав объект класса прокси, можно задействовать методы Web-сервиса XML в своей программе, при этом возможно использование IntelliSense и контроль типов, предоставляемый Visual Studio .NET.

 
Да, конечно, вы можете отправить XML-данные на веб-сервис по WS-ссылке. Для этого вам потребуется использовать соответствующий протокол, такой как SOAP (Simple Object Access Protocol). Ваш веб-сервис должен поддерживать прием данных через SOAP-запросы. Может потребуется купить прокси и зайти с другой локации. Также, у вас должна быть информация о структуре XML-данных и о том, какие методы ваш веб-сервис предоставляет для обработки этих данных. Эта информация обычно предоставляется в WSDL-документе вашего веб-сервиса.
Изменено: defrogoskolianwes - 08.02.2024 21:45:12
Страницы: 1