![]() |
![]() |
|
Web сервисы | ☑ | ||
---|---|---|---|---|
0
lamme
24.01.13
✎
13:08
|
82.
что есть - создал web -сервис. опубликовал. настроил IIS настроил IE по ЖКК. Прочитал ЖКК все что касается настройки веб сервисов. по ссылке типа http://localhost/MyApp ... заходит в 1С (открывается выбор пользователй, потом открывается 1С и тд) в MyApp лежат файлы web.config <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <add name="1C Web-service Extension" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files\1cv82\8.2.17.153\bin\wsisapi.dll" resourceType="Unspecified" requireAccess="None" /> </handlers> </system.webServer> </configuration> и default.vrd <?xml version="1.0" encoding="UTF-8" ?> - <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" base="/MyApp" ib="Srvr="1cdev-v.ocs.ru";Ref="Почтовая программа (Разработка)";"> - <ws> <point name="СтатусыЗаявок" alias="StatusRequest.1cws" /> <point name="ПолучениеАдресаПоИНН" alias="AdressRequest.1cws" /> </ws> </point> как достучатся извне - до сервиса AdressRequest ? |
|||
1
lamme
24.01.13
✎
13:09
|
||||
2
lamme
24.01.13
✎
13:09
|
Файл не обнаружен 'v8res://mngsrv/statusrequest.1cws'
|
|||
3
Нуф-Нуф
24.01.13
✎
13:10
|
лучше тренироваться на кошках. разверни демо ДО, опубликуй их вебсервисы, проверь работоспособность и начинай ваять свои
|
|||
4
lamme
24.01.13
✎
13:10
|
что делает вообще сервис
на входе ИНН на выходе - адрес контр. |
|||
5
lamme
24.01.13
✎
13:11
|
на кошках и тренируюсь.
хотя .. что есть демо ДО ? |
|||
6
lamme
24.01.13
✎
13:12
|
весь вопрос - как протестировать сервис
что он работает |
|||
7
Нуф-Нуф
24.01.13
✎
13:12
|
демо документооборо
|
|||
8
Нуф-Нуф
24.01.13
✎
13:12
|
т
|
|||
9
lamme
24.01.13
✎
13:14
|
осталось найти
есть он где то на итс ? |
|||
10
Нуф-Нуф
24.01.13
✎
13:17
|
ну епт. стаж 6 лет и не знаешь где достать последний релиз ДО? Стыдно должно быть
|
|||
11
lamme
24.01.13
✎
13:21
|
неа. не стыдно задавать вопросы никогда. и стаж тут не имеет значения.
|
|||
12
lamme
24.01.13
✎
13:22
|
итс = был легкий путь )
|
|||
13
lamme
24.01.13
✎
13:23
|
(10)
да тут можно и без ДО. одновременно с моим сервсисом публикуется и другой - который работает. При обращении ко второму - точно такая же ошибка идет , как и к моему. Думаю - что это все таки какие то настройки чего-то не сделаны |
|||
14
Dimon77
24.01.13
✎
13:27
|
(1) вместо адреса http://localhost/myapp/StatusRequest.1cws надо вводить http://localhost/myapp/WS/StatusRequest.1cws
|
|||
15
lamme
24.01.13
✎
13:31
|
(14)
сервис выложен в папку C:\inetpub\wwwroot\myapp |
|||
16
lamme
24.01.13
✎
13:32
|
начал выдавать окно выбора логин-пароля.
ввожу свои 3 раза потом вот такое вот Предоставленные учетные данные не дают права на просмотр этого каталога или страницы. |
|||
17
Dimon77
24.01.13
✎
13:37
|
(16) Нужно создать пользователя для веб сервиса в латинице, если пользователь назван на кириллице то просто происходит ошибка авторизации, видимо из за перехода в другую кодировку
|
|||
18
lamme
24.01.13
✎
13:41
|
да.
есть такое вернее - есть пользователь латиница пароль при вводе его - не проходит |
|||
19
Dimon77
24.01.13
✎
13:48
|
(18) А что говорит журнал регистрации?
|
|||
20
lamme
24.01.13
✎
13:58
|
методом научног тыка удалось установить что надо было в IIS правильно выставить правила аутидентификации
|
|||
21
lamme
24.01.13
✎
13:59
|
правда все вернулось в
Файл не обнаружен 'v8res://mngsrv/statusrequest.1cws' |
|||
22
lamme
24.01.13
✎
14:26
|
только дошло .. хотя может и не прав
сервис возвращает что -то т.е. ему надо POST запросом что-то отправить- чтобы он что-то выдал? |
|||
23
Dimon77
24.01.13
✎
15:31
|
(22) А ты логин и пароль пользователя из базы вводил?
Может это все таки в IIS, что то запрещено, раз уж раньше задавался вопрос логина пароля? |
|||
24
Serginio1
24.01.13
✎
15:55
|
А не пробовал
http://localhost/ws/myapp/StatusRequest.1cws |
|||
25
lamme
25.01.13
✎
13:06
|
разобрался
все-таки это логин-пароль оказались самой 1С базы |
|||
26
lamme
25.01.13
✎
13:06
|
а как теперб собственно можно протестировать сервис - что он работает и выдает то что надо ?
|
|||
27
lamme
25.01.13
✎
13:08
|
те сейчас в браузере выдает xml
дальше то как проверить - как передать параметр на сервис и получить какой-то ответ ? |
|||
28
lamme
25.01.13
✎
13:14
|
нашел пример с 2 файлами
- html - js в js идет : function ПриОтветеВебСервиса(xmlhttp){ if (xmlhttp.readyState == 4) {// когда ответ готов. if(xmlhttp.status != 200) {// Если всё плохо - скажем об этом alert("Запрос завершился неудачно. Ответ сервера: " + xmlhttp.responseText) } else{ // Выберем всех сотров из ответа сервера var выборкаСотров = xmlhttp.responseXML.getElementsByTagName(ИЕ("Сотрудник")) // Заполняем таблицу сотров на странице var ТаблицаСотров = document.getElementById("Сотрудники").getElementsByTagName("tbody")[0] // получим tbody // Удалим строки, добавленные в прошлый раз while (ТаблицаСотров.rows.length>1) ТаблицаСотров.deleteRow(1) for (var поз = 0; поз < выборкаСотров.length; поз++){ var СтрокаТаблицы = document.createElement("tr") ТаблицаСотров.appendChild(СтрокаТаблицы) ДобавитьЯчейкуВСтроку(СтрокаТаблицы, выборкаСотров[поз], "Код") ДобавитьЯчейкуВСтроку(СтрокаТаблицы, выборкаСотров[поз], "Наименование") ДобавитьЯчейкуВСтроку(СтрокаТаблицы, выборкаСотров[поз], "ДатаРождения") ДобавитьЯчейкуВСтроку(СтрокаТаблицы, выборкаСотров[поз], "ИНН") ДобавитьЯчейкуВСтроку(СтрокаТаблицы, выборкаСотров[поз], "Пол") ДобавитьЯчейкуВСтроку(СтрокаТаблицы, выборкаСотров[поз], "Ссылка") } } // Когда сервер ответил можно включить кнопочку. Пусть пользователь ещё поиграется. document.getElementById("MyButton").value = "Получить список сотрудников. Найдено " + поз + " человек." document.getElementById("MyButton").disabled = false } } function ПолучитьСотрудников(){ var xmlhttp = getXmlHttp() определитьБраузер() // создаём соединение типа POST, второй параметр - адрес, параметр true значит аснхронное, то есть браузер не бедет ждать ответа сервера, а продолжит работу xmlhttp.open('POST', 'http://localhost/ws/ПолучениеАдресаПоИНН', true) // путь, например, может быть таким: '/./ws/sotrudniki.1cws' // Скажем что делать когда придёт ответ - вызвать функцию ПриОтветеВебСервиса() xmlhttp.onreadystatechange = function() {ПриОтветеВебСервиса(xmlhttp)} // по идее без следующих двух строк легко обойтись. Я их взял из книжки уже после того как всё работало. xmlhttp.setRequestHeader("Content-Type", "Content-Type: application/x-www-form-urlencoded") // Set some headers: the body of this POST request is XML // xmlhttp.setRequestHeader("SOAPAction", '""') // This header is a required part of the SOAP protocol xmlhttp.send('<?xml version="1.0" encoding="UTF-8"?> ' + '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> ' + '<soap:Body> <m:СтатусыЗаявок xmlns:m="http://www.sample-package.org"> '+ '<m:СтрокаПоиска xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> ' +document.getElementById('ИмяСотрудника').value+' </m:СтрокаПоиска> '+ '</m:СтатусыЗаявок> </soap:Body> </soap:Envelope>') всегда выдает ответ Запрос завершился неудачно. Ответ сервера Неверный формат. |
|||
29
Serginio1
25.01.13
✎
13:52
|
Из 1С не судьба. Через WS ссылку или
ИмяВэбСервиса=ТвоёИмя;//"ws1.1cws" ИмяТочкиПодключения=ИмяВэбСервиса+"Soap"; АдресВэбСервиса="http://ИмяСервера/ИмяБазы/ws/"+ИмяВэбСервиса; Определения= новый WSОпределения(АдресВэбСервиса+"?wsdl",Юзер,Пароль); Прокси= Новый WSПрокси(Определения,URiПространстваИмен,ИмяВэбСервиса,ИмяТочкиПодключения); Прокси.Пользователь = Юзер; Прокси.Пароль = пароль; Прокси.ВызовТвоегоМетода(); |
|||
30
lamme
25.01.13
✎
13:53
|
О ///
|
|||
31
lamme
25.01.13
✎
13:53
|
О ...
|
|||
32
lamme
25.01.13
✎
14:45
|
делаю
Юзер="Admin"; Пароль=""; Определения = Новый WSОпределения("http://localhost/ws/ПолучениеАдресаПоИНН.1cws?wsdl",Юзер,Пароль); ругается При создании описания сервиса произошла ошибка. по причине: Ошибка при выполнении файловой операции 'http://Admin:xxxxxxx@localhost/ws/ПолучениеАдресаПоИНН.1cws?wsdl' по причине: Ошибка работы с Интернет: внутренняя ошибка сервера (500). <html> <head><title> A server error occurred. </title></head> <h1> Сервис не найден. </h1> <hr/> An error occurred processing this request.</html> по причине: Ошибка работы с Интернет: внутренняя ошибка сервера (500) |
|||
33
ptiz
25.01.13
✎
14:58
|
Может, ему русские буквы "ПолучениеАдресаПоИНН" не нравятся?
|
|||
34
Balonbl4
25.01.13
✎
15:04
|
(32) Не мучайся, используй soapUI (гугл ит!)
|
|||
35
Serginio1
25.01.13
✎
15:04
|
Определения = Новый WSОпределения("http://localhost/ws/ПолучениеАдресаПоИНН?wsdl",Юзер,Пароль);
или Определения = Новый WSОпределения("http://localhost/ws/AdressRequest.1cws?wsdl",Юзер,Пароль); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |