Имя: Пароль:
1C
1С v8
Может ли веб-сервис работать с get запросом?
0 СЕсин
 
19.09.13
16:02
Коллеги, доброго времени суток. Опыта работы с веб сервисами не много, подскажите пожалуйста.
Из сторонней системы приходят два вида запросов, которые на стороне 1С должен обработать веб сервис. Как разобрать POST запрос я примерно понимаю. Что делать с GET запросом?
Я не прошу подробного ответа, просто напишите получится обработать такие запросы?

Выглядят они примерно так:

POST запрос:
<?xml version="1.0"?>
<data><v230000483631_id>230000483631</v230000483631_id><v230000483631_nextid>230000483632</v230000483631_nextid><v230000483631_start_date>2013-09-20 05:37</v230000483631_start_date><v230000483631_end_date>2013-09-20 07:07</v230000483631_end_date><v230000483631_text>A147032.01-&#x41C;&#x421;</v230000483631_text><v230000483631_section_id>300</v230000483631_section_id><v230000483631_status>10</v230000483631_status><v230000483631_duration>0.838486981220657</v230000483631_duration><v230000483631_stopped>0</v230000483631_stopped><v230000483631_checked>0</v230000483631_checked><v230000483631_paid>0</v230000483631_paid><v230000483631_desc></v230000483631_desc><v230000483631_nativeeditor_status>updated</v230000483631_nativeeditor_status><v230000483632_id>230000483632</v230000483632_id><v230000483632_nextid>230000483633</v230000483632_nextid><v230000483632_start_date>2013-09-20 11:11</v230000483632_start_date><v230000483632_end_date>2013-09-20 11:19</v230000483632_end_date><v230000483632_text>A147032.01-&#x41C;&#x421;</v230000483632_text><v230000483632_section_id>501</v230000483632_section_id><v230000483632_status>10</v230000483632_status><v230000483632_duration>0.142729025058334</v230000483632_duration><v230000483632_stopped>0</v230000483632_stopped><v230000483632_checked>0</v230000483632_checked><v230000483632_paid>0</v230000483632_paid><v230000483632_desc></v230000483632_desc><v230000483632_nativeeditor_status>updated</v230000483632_nativeeditor_status><vids>230000483631,230000483632</vids></data>


GET запрос :
http://localhost/fetch.php?op=GetAvailableJobs
1 oleg_km
 
19.09.13
16:24
Это вроде не запрос веб-сервиса. Это запрос веб-сервера. Запрос веб-сервиса, это грубо говоря POST запрос, состоящий из специальным образом сформированного XML, в ответ на каторый веб-сервер сгенерит тоже специальным образом сформированным XML. Погугли например по слову SOAP.

У тебя судя по всему (fetch.php?op=GetAvailableJobs) просто веб-сервер на php. Нужно смотреть документацию или код веб-сервера
2 yukon
 
19.09.13
16:25
> которые на стороне 1С должен обработать веб сервис. Как разобрать POST запрос я примерно понимаю

Судя по всему - не понимаешь. Если вэб-сервис 1С-ный, то платформа тебе разберет запрос и выдаст в виде родных 1С-ных типов. Приведенный запрос POST платформа не разберет. GET-запросы в 1С-ных вэб-сервисах не реализованы.

Может все-таки запрос надо делать из 1С?
3 СЕсин
 
19.09.13
16:40
yukon, поэтому я и использовал формулировку "примерно понимаю" )
Суть в двухсторонней синхронизации 1С и некого планировщика с веб-интерфейсом. Туда нужно и посылать запросы и обрабатывать запросы которые приходят из планировщика, отсылая обратно ответ.
Поэтому веб-сервис 1с должен именно понимать GET и POST запросы.
Т.е. иными словами, средствами 1С это сделать невозможно? (2)
4 yukon
 
19.09.13
16:47
(3) > Суть в двухсторонней синхронизации 1С и некого планировщика с веб-интерфейсом.
> Поэтому веб-сервис 1с должен именно понимать GET и POST запросы.

Наличие двухсторонней синхронизации не означает симметричности в API. Если для получения каких-либо данных в сторонней системе нужно использовать 2 типа запросов, это не означает, что в 1С нужно тоже реализовывать 2 типа запросов.
5 Asmody
 
19.09.13
16:50
Почитать wiki:SOAP автора уже отправляли?
6 СЕсин
 
19.09.13
16:59
(5) уже читаю.
(4) > это не означает, что в 1С нужно тоже реализовывать 2 типа запросов.
Существующая внешняя система посылает два вида запросов. POST запросы - когда нужно в базе 1С что-то изменить.
Get запросы, когда база 1С должна что-то выплюнуть обратно.
Этот планировщик дают как готовый инструмент и говорят: "вот такими запросами наша система общается с любой сторонней БД, сможешь интегрировать свою базу 1С?". Я вот до сих пор не могу понять четкий ответ на этот вопрос. Могу, но только заставив их переписать формат запросов? Или не могу ни при каких обстоятельствах?
7 Serginio1
 
19.09.13
17:20
Ну понимать он будет по стандартам SOAP
v8: MSSOAP 1C

Если нужно сделай HTTP сервер который будет дергать методы Вэб Сервиса
8 Asmody
 
19.09.13
17:31
(6) Напрямую не можешь, в 1С нет веб-сервера. Можно сделать "прокладку" на каком-нибудь питоне, который будет post/get конвертировать в soap. На flask'е за пару дней с изучением сделать можно
9 Ndochp
 
19.09.13
17:58
А что вы все в мыло уперлись? Пут и Гет это rest веб сервисы
v8: rest веб сервисы 1с
(Другое дело что таких сервисов 1С делать не умеет, в демке только клиент, но это мелочи)
10 СЕсин
 
19.09.13
18:31
Коллеги, спасибо. Я основательно подумаю над тем, что Вы тут написали. Посмотрю на ИТС, что там за обработка RSS Агрегатор, если я правильно Вас понял, может это действительно выход.
11 Asmody
 
19.09.13
18:54
(10) RSS Арегатор — это тоже клиент. А тебе нужен сервер.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший