|
веб сервис 1С не работает через клиента на C# | ☑ | ||
---|---|---|---|---|
0
AaNnDdRrEeYy
15.04.13
✎
16:08
|
в 1С 8.2 создал тестовый веб сервис нормально работает если делать запрос из другой 1С но если сделать запрос из клиента на C# выдает ошибку
The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Basic realm="1C:Enterprise 8.2"'. логин и пароль указываю так (это логин пользователя из 1С) client.ClientCredentials.UserName.UserName = "admin"; client.ClientCredentials.UserName.Password = "1"; что то я не пойму это 1С меня не пускает или веб сервер? |
|||
1
HeroShima
15.04.13
✎
16:16
|
Протокол не соблюдается.
|
|||
2
AaNnDdRrEeYy
15.04.13
✎
16:19
|
я биндинг ручками писал
//тайминги binding.CloseTimeout = new TimeSpan(0, 1, 0); binding.OpenTimeout = new TimeSpan(0, 1, 0); binding.ReceiveTimeout = new TimeSpan(0, 1, 0); binding.SendTimeout = new TimeSpan(0, 1, 0); //формат сообщений binding.MessageEncoding = WSMessageEncoding.Text; binding.TextEncoding = Encoding.UTF8; binding.TransferMode = TransferMode.Buffered; //размеры сообщений binding.MaxReceivedMessageSize = 2147483647; binding.MaxBufferPoolSize = 2147483647; binding.ReaderQuotas.MaxStringContentLength = 1000000000; //доступ binding.AllowCookies = false; // binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName; binding.Security.Mode = BasicHttpSecurityMode.None; EndpointAddress endAdres = new EndpointAddress("http://test/test1/ws/testWS.1cws?wsdl"); ServiceReference1.TestWSPortTypeClient client = new TestWSPortTypeClient(binding, endAdres); client.ClientCredentials.UserName.UserName = "admin"; client.ClientCredentials.UserName.Password = "1"; client.Open(); Вот тут client.state = Opened ошибка когда метод вызываю client.SomeMethod(); |
|||
3
AaNnDdRrEeYy
15.04.13
✎
16:21
|
какой именно протокол не соблюдается? сервис виден только не пускает в метод, говорит The HTTP request is unauthorized with client authentication scheme 'Anonymous' - анонимно не прошел чегото там.
|
|||
4
AaNnDdRrEeYy
15.04.13
✎
16:22
|
Думаю потому что имя порта не указано
третий параметр СоздатьWSПрокси(<URIПространстваИменСервиса>, <ИмяСервиса>, <ИмяПорта>) как его указать не в 1С? |
|||
5
HeroShima
15.04.13
✎
16:23
|
(4) айпи хоть правильный?
|
|||
6
zladenuw
15.04.13
✎
16:24
|
||||
7
AaNnDdRrEeYy
15.04.13
✎
16:27
|
(5) да правильный, он законсперированный, на самом деле другой но он точно правильный.
|
|||
8
AaNnDdRrEeYy
15.04.13
✎
16:27
|
(6) это уже видел, там в Приложение 2 - бред полнейший.
|
|||
9
HeroShima
15.04.13
✎
16:38
|
Если уверен что стучишь куда нужно, возьми снифер и сравни обмены.
|
|||
10
AaNnDdRrEeYy
16.04.13
✎
13:38
|
разобрался, свойство PreAuthenticate надо в true ставить, иначе он даже не пробует логинится.
|
|||
11
manserg
01.05.13
✎
15:03
|
Столкнулся с аналогичной проблеймой утентификации.
Service Reference сгенерил автоматом, биндинг не менял, только задал ClientCredentials.UserName.UserName и ClientCredentials.UserName.Password. web-service развернут в Apache. Где и как устанавливать параметр PreAuthenticate? |
|||
12
sikuda
20.05.13
✎
14:39
|
В POST запросе установи типа Authorization: "Basic c2lrdWRhd3M6MTIzNDU2" и проходит http://sikuda.ru/identifikatsiya-web-servisov-1s/
|
|||
13
manserg
21.05.13
✎
01:39
|
(12) Спасибо, засада в том, что я использую Service Reference и .NET 4.5 а там пока не нашел как делать custom запрос.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |