Имя: Пароль:
1C
1С v8
Web-сервис вызов из PHP авторизация
0 dzsysop
 
13.07.11
21:52
Есть скрипт на PHP вызывающий простой вебсервис Hello World! из пустой конфигурации 1с 8.2.
Все работает при пустом списке пользователей. Делаю следующий шаг создаю пользователя в 1С.

Вебсервис перестает отвечать, что в принципе ожидаемо.
Вопрос: как передать имя и пароль при вызове веб сервиса?

вот так оно работает с пустым списком пользователей:

$client= new SoapClient("http://хххх.ком/InfoBase2/ws/empty_ws1.1cws");

   $response=$client->HelloWorld()->return;

   echo $response;


где что подправить?
1 aleks-id
 
13.07.11
21:56
SoapClient("user:pass@http:.....
2 dzsysop
 
13.07.11
21:56
хм... сейчас попробую
3 dzsysop
 
13.07.11
21:58
попробовал.
Мимо!
4 aleks-id
 
13.07.11
21:59
поди юзера на кириллице завел? заведи юзера 111 с паролем 222
5 dzsysop
 
13.07.11
21:59
нет латиница
admin:admin123
6 Абырвалг
 
13.07.11
22:00
в default.vrd пропиши usr=;pwd=
7 dzsysop
 
13.07.11
22:01
не хочется прописывать дефолтные значения,
но сейчас поиграюсь и с этим, но вопрос остается открытым.
8 aleks-id
 
13.07.11
22:07
а если так?
SoapClient("http://user:pass@хххх.ком/InfoBase2/ws/empty_ws1.1cws");
9 dzsysop
 
13.07.11
22:10
так немного лучше, но все равно непонятно
10 dzsysop
 
13.07.11
22:11
пенрвая строка там где инициализируется SOAP ошибки не выдает, а вот при вызове метода - ругается на неавторизацию
11 aleks-id
 
13.07.11
22:17
$client->ConnectorProperty("AuthUser") = "admin";
$client->ConnectorProperty("AuthPassword") = "admin123";
$client->ConnectorProperty("WinHTTPAuthScheme") = 1;
12 dzsysop
 
13.07.11
22:21
Fatal error: Can't use method return value in write context

$client->ConnectorProperty("AuthUser") = "admin";
13 dzsysop
 
13.07.11
22:23
$client->AuthUser = "admin";
   $client->AuthPassword = "admin123";
   $client->WinHTTPAuthScheme = 1;

скушал, но не помогло
14 egor2fsys
 
13.07.11
22:24
Мы авторизацию к базе прописывали, как верно заметили в (6) в
default.vrd

Нюанс был такой, что имя пользователя обязательно должно быть латиницей и вроде бы было регистро-зависимым.

А это WinHTTPAuthScheme не поможет, ибо там не обычная HTTP Basic авторизация вроде.
15 dzsysop
 
13.07.11
22:31
подправил вот так

<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="/InfoBase2"
       usr="Admin"
       pwd="admin123"
       ib="File=&quot;хххххх.ком\InfoBase2&quot;;">
   <ws>
       <point alias="empty_ws1.1cws"
               name="WebService1"/>
   </ws>
16 dzsysop
 
13.07.11
22:31
не работает,

убрал в РНР юзера и пароль, чтобы не конфликтовали - не работает

куда копать дальше?
17 Абырвалг
 
13.07.11
22:33
ib="File=&quot;хххххх.ком\InfoBase2&quot;usr=admin;pwd=admin123;"
18 dzsysop
 
13.07.11
22:39
\InfoBase2&quot;usr=Admin;pwd=admin123;

не помогает
19 aleks-id
 
13.07.11
22:42
$client->ConnectorProperty("AuthUser","admin");
$client->ConnectorProperty("AuthPassword","admin123");
20 dzsysop
 
13.07.11
22:47
Алекс, я в (13) написал, что установил эти свойства, но оно не помогает!!

а твой последний пост - РНР ругается на синтаксис.
21 Абырвалг
 
13.07.11
23:01
вместо pwd попробуй psw
22 dzsysop
 
13.07.11
23:29
итак, долгожданная победа!!!

$client= new SoapClient("хххххх.ком/InfoBase2/ws/empty_ws1.1cws?wsdl",
       array(    'login' => 'Admin',
               'password' => 'admin123'));


и все!!

vrd можно не трогать!!!

работают и другие варианты создания
как например (8)

но главное!!!

обращаю внимание, проблема была как всегда в другом месте,
не забудьте дать права на выполнение данного метода вебсервиса нужному юзеру!!!

может я один такой тупой, но се ля ви!!!

разработка с нуля - соответственно и баги с нуля! :-)

всем спасибо за участие, терпение и советы!
Независимо от того, куда вы едете — это в гору и против ветра!