![]() |
![]() |
![]() |
|
Обмен через web сервис | ☑ | ||
---|---|---|---|---|
0
Забавный зверек
20.02.18
✎
15:27
|
Добрый день!
Помогите пожалуйста. Есть задача: сделать простенькое основное приложение с номенклатурой и в мобильном приложении по артикулу получить наименование. Сразу скажу, что до этого с мобильным приложением дела не имел. Делаю по книге Хрусталевой. Проблема сейчас - не могу получить данные на мобильном приложении из "основного" приложения через web сервис - Я не понимаю даже правильно ли я все организовал. На своей рабочей машине поставил апач. На нем же разрабатываю "мобильное приложение" и "основное". Сами базы данных лежат на sql сервере в сети. В "основном приложении"сделал web сервис ZaprosOstatok с одной операцией ПолучитьДанные. Сделал публикацию на веб сервере. Но в "мобильном приложении" не получается создать описание сервиса: {Обработка.ПроверкаОстатка.Форма.Форма.Форма(34)}: Ошибка при вызове конструктора (WSОпределения): "При создании описания сервиса произошла ошибка. URL сервиса: http://192.168.1.167/ws/wsExchange.1cws?wsdl Код ответа сервера: 404" я не очень понимаю как убедиться что нормально опубликовал web сервис? |
|||
1
Джинн
20.02.18
✎
15:31
|
Браузером проверьте. Или с помощью SoapUI.
|
|||
2
бомболюк
20.02.18
✎
15:32
|
1. перед "ws" в адресе сервиса должно еще кое что быть - имя, под которым на сервисе база опубликована
2. адрес у сервиса локальный, а инет мобильного устройства конечно же 3G? ;-) |
|||
3
Забавный зверек
20.02.18
✎
15:35
|
(1) проверить что апач работает? браузером проверяю работает.
или можно как то проверить что вебсервис появился? |
|||
4
Забавный зверек
20.02.18
✎
15:36
|
(2) 2. инет мобильного устройства - вайфай той же сети
|
|||
5
Джинн
20.02.18
✎
15:37
|
(3) Вебсервис и проверяется браузером. Данные не получите конечно, но описание вернет. А данные можно SoapUI проверять. Только в последних версиях они что-то с авторизацией намутили - я старьем пользуюсь обычно.
|
|||
6
Забавный зверек
20.02.18
✎
15:39
|
(3) это как? "адрес сервера/имя сервиса" ?
|
|||
7
Забавный зверек
20.02.18
✎
15:41
|
открывается папка о имени сервиса - в ней один файл default.vrd
|
|||
8
Забавный зверек
20.02.18
✎
15:43
|
При публикации сервиса в структуре сервера появляется так:
C:\Server\data\htdocs\wsExchange\default.vrd Содержимое файла: <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="/wsExchange" ib="Srvr="SQL:1741";Ref="MobilOP";"> <ws publishExtensionsByDefault="true"> <point name="ZaprosOstatok" alias="wsExchange" enable="true" reuseSessions="autouse" sessionMaxAge="20" poolSize="10" poolTimeout="5"/> </ws> <standardOdata enable="true" reuseSessions="autouse" sessionMaxAge="20" poolSize="10" poolTimeout="5"/> </point> |
|||
9
бомболюк
20.02.18
✎
15:44
|
||||
10
Забавный зверек
20.02.18
✎
15:47
|
Я не понимаю почему такой адрес в книге
http://192.168.1.167/wsExchange.1cws?wsdl у меня же нет файлов "*.1cws" |
|||
11
Забавный зверек
20.02.18
✎
15:49
|
тоже самое
{Обработка.ПроверкаОстатка.Форма.Форма.Форма(34)}: Ошибка при вызове конструктора (WSОпределения): При создании описания сервиса произошла ошибка. URL сервиса: http://192.168.1.167/wsExchange/ws/wsExchange.1cws?wsdl Код ответа сервера: 404 |
|||
12
бомболюк
20.02.18
✎
15:49
|
а ты браузером
|
|||
13
Забавный зверек
20.02.18
✎
15:52
|
Not Found
The requested URL /wsExchange/ws/wsExchange.1cws was not found on this server. |
|||
14
hhhh
20.02.18
✎
16:39
|
||||
15
hhhh
20.02.18
✎
16:42
|
(13) что-то вы фигней какой-то страдаете. Данные между мобильным сервером и мобильным клиентом ходят сами. Не надо придумывать каких-то своих доморощенных сервисов.
|
|||
16
Забавный зверек
20.02.18
✎
17:00
|
Не понял. Мобильный сервер это что - Мобильное приложение на компе?
Мне нужно веб сервисом считать данные с основной базы |
|||
17
ptiz
20.02.18
✎
17:11
|
(15) "Данные между мобильным сервером и мобильным клиентом ходят сами" - можно подробнее для чайников?
На компе делаю конфигурацию, публикую из неё мобильное приложение. С телефона запускаю 1cem-arm.apk, подключаю базу, всё работает. А как данные сами будут бегать между базой на компе и телефоном? |
|||
18
Забавный зверек
20.02.18
✎
17:25
|
рестартанул апач, продвинулся вперед! теперь говорит
Прокси = Новый WSПрокси(Определения, URI, "ZaprosOstatok", "ZaprosOstatok"); по причине: Порт не найден. {http://192.168.1.167/wsExchange}:ZaprosOstatok:ZaprosOstatok |
|||
19
ptiz
20.02.18
✎
17:36
|
(18)
Я так делаю: Функция ПолучитьНовыйПроксиВебСервисаЦБ(ТекстОшибки = "") Экспорт Пользователь = "Obmen"; Пароль = "1"; ОпределениеСервиса = Неопределено; АдресСервераСПортом = Константы.АдресОбменаЦБ.Получить(); Если Прав(АдресСервераСПортом, 1) <> "/" Тогда АдресСервераСПортом = АдресСервераСПортом + "/"; КонецЕсли; ТекстОшибки = ""; Попытка ОпределениеСервиса = Новый WSОпределения("http://" + АдресСервераСПортом + "ws/MobileExchange.1cws?wsdl", Пользователь, Пароль, , 300); Исключение ТекстОшибки = ОписаниеОшибки(); ОпределениеСервиса = Неопределено; КонецПопытки; Если ОпределениеСервиса = Неопределено Тогда ТекстОшибки = ТекстОшибки + ?(ТекстОшибки = "", "", Символы.ПС) + "Не удалось получить определение веб-сервиса"; Возврат Неопределено; КонецЕсли; Попытка Сервис = ОпределениеСервиса.Сервисы[0]; Прокси = Новый WSПрокси(ОпределениеСервиса, Сервис.URIПространстваИмен, Сервис.Имя, Сервис.ТочкиПодключения[0].Имя, , 300); Прокси.Пользователь = Пользователь; Прокси.Пароль = Пароль; Исключение ТекстОшибки = ОписаниеОшибки(); ОпределениеСервиса = Неопределено; Прокси = Неопределено; КонецПопытки; Если Прокси = Неопределено Тогда ТекстОшибки = ТекстОшибки + ?(ТекстОшибки = "", "", Символы.ПС) + "Не удалось получить прокси веб-сервиса"; Возврат Неопределено; КонецЕсли; Возврат Прокси; КонецФункции |
|||
20
Забавный зверек
20.02.18
✎
17:54
|
(19) спасибо, так сработало!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |