Вход | Регистрация

1С:Предприятие ::

Метки: 

Обмен через web сервис

Я
   Забавный зверек
 
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.
   hhhh
 
14 - 20.02.18 - 16:39
   hhhh
 
15 - 20.02.18 - 16:42
(13) что-то вы фигней какой-то страдаете. Данные между мобильным сервером и мобильным клиентом ходят сами. Не надо придумывать каких-то своих доморощенных сервисов.
   Забавный зверек
 
16 - 20.02.18 - 17:00
Не понял. Мобильный сервер это что - Мобильное приложение на компе?
Мне нужно веб сервисом считать данные с основной базы
   ptiz
 
17 - 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
   ptiz
 
19 - 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) спасибо, так сработало!


Список тем форума
Рекламное место пустует   Рекламное место пустует
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует