|
Не вызывается процедура (операция) веб-сервиса | ☑ | ||
---|---|---|---|---|
0
Deryni
31.10.13
✎
14:56
|
Добрый день.
Есть веб-сервис, созданный в 1С, который давно и успешно работает. В нём порядка 12 операций. Вначале операции носили вменяемые имена типа GerPrices и так далее. Последнее время операции назывались так: ws<НомерОперации>. Так сделано по просьбе веб-программиста. Были добавлены операции ws118 и ws119. Они успешно работают. Добавил операции ws120 и ws121. Не работает ни та ни другая. Причём в отладчике даже не входит в них. Отладчик работает нормально, в остальные - входит. В операцию параметров не передаётся. Там уже есть другие операции, которые работают без параметров. Работают успешно. Попробовал текст из ws120 перенести в ws118. Работает. В смысле при вызове ws118 отрабатывает так, как должна работать ws120. Попробовал переименовать ws120 в GetEI. Не работает. Попробовал переместить в дереве конфигурации выше ws118. Не работает. При этом при проверке веб-сервиса через <имя компьютера>/<имя публикации>/ws/<имя сервиса>.1cws?wsdl всё отображается. Выглядит это так: <operation name="ws118"> <soap12bind:operation style="document" soapAction="https://localhost#WebXChange:ws118"/> <input> <soap12bind:body use="literal"/> </input> <output> <soap12bind:body use="literal"/> </output> </operation> <operation name="ws119"> <soap12bind:operation style="document" soapAction="https://localhost#WebXChange:ws119"/> <input> <soap12bind:body use="literal"/> </input> <output> <soap12bind:body use="literal"/> </output> </operation> <operation name="ws120"> <soap12bind:operation style="document" soapAction="https://localhost#WebXChange:ws120"/> <input> <soap12bind:body use="literal"/> </input> <output> <soap12bind:body use="literal"/> </output> </operation> |
|||
1
Fragster
модератор
31.10.13
✎
15:00
|
а вызов не с помощью веб программиста, а из 1с работает?
|
|||
2
Deryni
31.10.13
✎
15:05
|
(1) ну я не проверял. Это ж отдельно писать нужно. Я текст у веб-программиста только что проверил. Операции 119 и 120 идентичны. Разница только в названии. Ошибиться там просто негде.
Вот пример. $newurl = "http://имясервера/имясервиса/ws/rest.1cws?wsdl"; ini_set("soap.wsdl_cache_enabled", "0"); function SoapConnect($url){ $login = "какой-то логин"; $passw = "правильный пароль"; $client = new SoapClient($url, array('login' => $login, 'password' => $passw)); return $client; } $client = SoapConnect($url); $result = $client->ws119(); echo $result->return; $client = SoapConnect($url); $result = $client->ws120(); echo $result->return; |
|||
3
Смотрящий от 1С
31.10.13
✎
15:07
|
(0) контекст исполнения сравнивал? НаСеврере НаКлиенте ?
|
|||
4
Deryni
31.10.13
✎
15:13
|
(3) Какой может быть контекст здесь? У меня ни в одной операции не указывается &Сервер или &Клиент. И насколько я помню, веб-сервисы всегда исполняются на сервере.
Могу выложить определения функций в модуле. |
|||
5
Deryni
31.10.13
✎
15:27
|
Всё. Вопрос решился. Проблема была в правах. Гадское хранилище конфигурации. Привык, что обычно у полных прав права ставятся автоматически.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |