Имя: Пароль:
1C
1С v8
SOAP запросы из 1С
,
0 Classic
 
07.11.11
13:17
Всем привет.
Возникла необходимость реализовать данную фигню.
В связи с чем есть несколько вопросов.
1. Есть ли какой-то тестовый веб-сервис, с описанными функциями, с помощью которого можно потестировать свое будущее творение?
2. Я так понимаю, что вариантов посылки запросов два. Через WSОпределения и с помощью MSSOAP30.DLL. Какой из них лучше?
1 DmitrO
 
07.11.11
13:22
Через штатный SOAP клиент удобнее (WSСсылки), но есть ограничения.
Если через WSОпределения не получится, то будешь делать через MSSOAP.
2 DmitrO
 
07.11.11
13:25
А то и вообще через сырой http проще бывает. В некоторых случаях можно и комбинировать. Вариантов на самом деле много. Все зависит от веб-сервиса.
3 Fragster
 
гуру
07.11.11
13:25
вот в SOAP самое правильное то, что сначала делаются спецификации, а потом по ним - веб сервис. Соответственно, реализовывать и отлаживать надо не "какой-то тестовый" веб сервис, а уже готовый, с его WSDLем
4 Fragster
 
гуру
07.11.11
13:25
а вообще на ИТС лежит конфа, которая с аэрофлотовским кажися, веб сервисом взаимодействует.
5 Classic
 
07.11.11
13:26
(0)
Надо будет HTTPS. Штатный через него отработает? Читал, что как раз с ним возникает большинство проблем.
(3)
Да мне хотя бы для начала попробовать и убедиться, что работа идет в правильном направлении :)
6 Classic
 
07.11.11
13:27
(4)
Спасибо, посмотрю
7 DmitrO
 
07.11.11
13:28
(5)https работает.
8 aleks-id
 
07.11.11
13:35
https работает только при условии что сертификат безопасности сервера валидный. иначе швах и только через ВК
9 Asmody
 
07.11.11
13:37
со встроенным SOAP с его пришлёпкой в виде XDTO тех ещё наловиться можно.
например, вот такой ответ

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento">
  <SOAP-ENV:Body>
     <ns1:catalogCategoryTreeResponseParam>
        <result>
...
        </result>
     </ns1:catalogCategoryTreeResponseParam>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


встроенный SOAP-клиент не распознает (вылезет ошибка XDTO).
а вот такой:


<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:Magento">
  <SOAP-ENV:Body>
     <catalogCategoryTreeResponseParam>
        <result>
...
        </result>
     </catalogCategoryTreeResponseParam>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


распознаётся прекрасно.

Хотя, например, soapUI и тот, и другой варианты считает валидными
10 Fragster
 
гуру
07.11.11
13:40
(9) а потому что не описан нэймспейс ns1, наверное. просто некоторые парсеры "простые" ошибки игнорируют...
11 Fragster
 
гуру
07.11.11
13:40
хотя не, фигня какая-то
12 Asmody
 
07.11.11
13:40
(10) описан в первой строке
13 DmitrO
 
07.11.11
13:41
(9)в первом случае result же не квалифицирован? вот он и орет.
14 Fragster
 
гуру
07.11.11
13:41
значит тупо игнорят, цуки
15 Classic
 
07.11.11
13:42
(9)
Рекомендуешь сразу смотреть в сторону MSSOAP30, чтоб не заморачиваться с подобными проблемами?
16 DmitrO
 
07.11.11
13:45
(9)ты вот так напиши
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento">

  <SOAP-ENV:Body>
     <ns1:catalogCategoryTreeResponseParam>
        <ns1:result>
...
        </ns1:result>
     </ns1:catalogCategoryTreeResponseParam>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

тогда он будет знать, что result - это элемент из пространства имен urn:Magento
17 Asmody
 
07.11.11
13:54
(16) беда в том, что xml этот генерится где-то в недрах zend soap.
18 aleks-id
 
07.11.11
13:56
(15) и я рекомендую тоже
19 DmitrO
 
07.11.11
13:59
Ну значит имхо не правильно он генерится.
Просто штатный клиент все проверяет по схеме. Как он проверит элемент result если он не квалифицирован? Значит он в пространстве имен по-умолчанию, которое вообще не определено в этом ответе.. как ему его проверить?

MSSOAP например, по-умолчанию вообще не проверяет по схеме (проверяет xml well formatted чтобы в DOM модель загрузилось).
20 Classic
 
07.11.11
14:00
(18)
Может подскажешь какой-то веб-сервис для начального тестирования, чтоб свой не поднимать?
На ИТСе нашел только конфу, где публикуются свои и с ними работается
21 DmitrO
 
07.11.11
14:03
(19)+ в результате при реализации сервисов на MSSOAP частенько бывает так что схема не соответствует реально действующим структурам данных. Прогеры тупо забывают ее править при внесении изменений.
22 aleks-id
 
07.11.11
14:05
(20) можешь зарегистрироваться на emex.ru и колбасить с их веб-сервисами :)
Ошибка? Это не ошибка, это системная функция.