Связка андроид - 1С через вэб сервис 1С. Как аторизоваться
Создал в 1С вэб сервис. Делает простую выборку выкладывает в виде строки. Подключение к сервису с любого браузера проходит отлично.
Подключение из приложения пишет ошибку файл не найден (GET запрос) При этом любые другие сервисы (не 1с) читаются на ура. Подозреваю что проблема в атворизации либо в заголовках запроса(???)
Пробовал так. Не работает (файл не найден) http://192.168.0.202/TsdService/hs/tsd/Str1/ReadSpr/Str3/ http://user:[email protected]/TsdService/hs/tsd/Str1/ReadSpr/Str3/ http://192.168.0.202/TsdService/hs/tsd/Str1/ReadSpr/Str3 http://user:[email protected]/TsdService/hs/tsd/Str1/ReadSpr/Str3
А вот так все запрашивается на ура
http://192.168.0.202 (возвращается заглавная страница IIS-а) www.ya.ru (тоже норм все)
URL obj = new URL(url);
HttpURLConnection connection = (HttpURLConnection) obj.openConnection();
//add reuqest header
connection.setRequestMethod("GET");
connection.setRequestProperty("User-Agent", "Mozilla/5.0" );
connection.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
connection.setRequestProperty("Content-Type", "application/json");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream())); // В этом месте слетает с ошибкой.
Ответы (2 шт):
Решил проблему отключив авторизацию на вэб-сервисе 1с. Делается это в файле default.vrd после публикации сервиса. В строку ib добавил пользователя и пароль с минимальной ролью. (пользователь должен быть заведен в 1С)
Было
ib="Srvr="MySrv";Ref="MyBase""
Стало
ib="Srvr="MySrv";Ref="MyBase";Usr="MyUser";Pwd="MyPass""
Не большой спец в Java, но разве к соединению не нужно передавать логин/пароль? Если взять тот же HTTPСоединение в 1С - при создании передаётся логин и пароль. В «default.vrd»пе