Подключение к веб сервису 1С из платформы Windows Phone #692185


#0 by ditron
Добрый день, уважаемые! Подскажите, кто нибудь сталкивался с подключением и обменом с веб сервисом 1С 8.2 из приложения написанного под Windows Phone (VS)
#1 by Balonbl4
А что, есть какие-то подводные камни? ЗЫ: недавно делал синхронизацию с Eхchange по веб-сервисам - вот там реально жесть.
#2 by Serginio1
#3 by ditron
Да все как у Калиновского, но! сервис по https находится
#4 by Serginio1
Тебе лучше сюда вопрос задать
#5 by ditron
может у меня уже глаз замылился, вот код: {     public partial class MainPage : PhoneApplicationPage     {         const string wsUser = "********";         const string wsPwd  = "********";         public string User;         public string Pwd;         public WSMobileClientPortTypeClient _WSClient = new WSMobileClientPortTypeClient;         private void _WSClient_OpenCompleted(object sender, AsyncCompletedEventArgs e)         {         }         private void WSCheckConnection(string User, string Pwd)         private void _WSClient_CheckConnectionCompleted(object sender, CheckConnectionCompletedEventArgs e)         {             throw new NotImplementedException;         }         private void WSGetClientInfo(string User, string Pwd)         void _WSClient_GetClientInfoCompleted(object sender, GetClientInfoCompletedEventArgs e)         }         private void WSGetTreeOrders(string User, string Pwd)         void _WSClient_GetTreeOrdersCompleted(object sender, GetTreeOrdersCompletedEventArgs e)         private void WSGetRestGoods(string User, string Pwd)         void _WSClient_GetRestGoodsCompleted(object sender, GetRestGoodsCompletedEventArgs e)         private void btnUpdate_Click(object sender, EventArgs e)         {             {                 case 0:                 case 1:                 case 2:             }         }         private void miSettings_Click(object sender, EventArgs e)         }     } }
#6 by ditron
то 1 Судя по всему есть
#7 by Serginio1
#8 by ditron
7 - спасибо конечно, но это установка сертификата на симулятор, а я отлаживаю на реальном девайсе. У меня в исключении ругается не на сертификат. Сначала ругался "The remote server returned an unexpected response: Unauthorized. In Silverlight, a 404 response code may be reported even when the service sends a different error code.", потом включил на IIS-е (где служба опубликована) ASP.NET Impersonation , теперь другая ругань в дебаге:          "The content type text/html of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " xmlns=" http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <title>500 - Internal server error.</title> <style type="text/css"> <!-- body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;} fieldset{padding:0 15px 10px 15px;} h1{font-size:2.4em;margin:0;color:#FFF;} h2{font-size:1.7em;margin:0;color:#CC0000;} h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} #header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF; background-color:#555555;} #content{margin:0 0 0 2%;position:relative;} .content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;} --> </style> </head> <body> <div id="header"><h1>Server Error</h1></div> <div id="content"> <div class="content-container"><fieldset> '."
#9 by ditron
Я так понимаю не в том формате реквест приходит
#10 by Serginio1
#11 by Serginio1
А с декстопа подключаешься?
#12 by Serginio1
#13 by Serginio1
Кстати помню такая ошибочка у меня была при соедининнии без config  файла
#14 by ditron
13 эту ветку я уже изучал, а с дескотопа только в браузере, база опубликована полностью, в ней клиенты(покупатели) работают, клиент "мобильная платформа" работает под Андроид, чудесно, все те-же процедуры юзаю (Web-сервисы), а вот пишу для клиентов у которых Windows Phone на C# и застрял
#15 by ditron
А вот это уже интересно, сейчас попробуем...
#16 by ditron
Я думаю дело все таки в заглушке сертификата
#17 by ditron
( это жесть... не получается, в статья отличная но для десктопной SDK, а в WP оказывается не все реализовано
#18 by Serginio1
Я имел ввиду с декстопа WCF. А какую ошибку выдает? Вспомнил ошибку типа выдавала когда изменения в Вэб сервисе происходили.
#19 by ditron
По поводу - ее уже нет, это было один раз когда я в ИИС включил ASP.net impersonation, но уже выключил иначе перестала служба вообще работать в том числе и вэб клиент
#20 by ditron
ошибка одна: "The remote server returned an unexpected response: Unauthorized. In Silverlight, a 404 response code may be reported even when the service sends a different error code." уже пробую конект по разному, и на прямую к локальному ИП где база опубликована, и через инет к https, меняя при этом "секурити моде"
#21 by Serginio1
#22 by Serginio1
#23 by ditron
Ерунда это все, здесь что-то с авторизацией 1С в службе, я уже удалил Сервис из проекта и добавил новый с локальным IP без всякого шифрования, с телефона (он в локалке) страница службы открывается...
#24 by Serginio1
У тебя и ошибка другая чем здесь А с Декстопа то нормально соединяется?
#25 by ditron
Да, другая. В смысле с десктопа?
#26 by ditron
Есть IIS сервер, на нем опубликована база (точнее три), одна публикация локальная в домен(для обмена с остальными двумя), вторая наружу (HTTPS), клиенты через Веб клиент работают. Все работает чудесно, девайс свой отладочный ввел в локалку через WI-FI в браузере ввожу локальный адрес службы , открывается (после ввода логин-пароль) XML файл, как и должно быть, что не так не пойму, я так понимаю он не может пройти авторизацию 1С
#27 by ditron
конфиг службы в решении: код: {     public partial class MainPage : PhoneApplicationPage     {         const string wsUser = "******";         const string wsPwd  = "******";         public static string User;         public static string Pwd;                  public WSMobileClientPortTypeClient _WSClient;         private void _WSClient_OpenCompleted(object sender, AsyncCompletedEventArgs e)         {         }         private void WSCheckConnection(string User, string Pwd)         private void _WSClient_CheckConnectionCompleted(object sender, CheckConnectionCompletedEventArgs e)         {             throw new NotImplementedException;         }         private void WSGetClientInfo(string User, string Pwd)         }         void _WSClient_GetClientInfoCompleted(object sender, GetClientInfoCompletedEventArgs e)         }         private void WSGetTreeOrders(string User, string Pwd)         void _WSClient_GetTreeOrdersCompleted(object sender, GetTreeOrdersCompletedEventArgs e)         private void WSGetRestGoods(string User, string Pwd)         void _WSClient_GetRestGoodsCompleted(object sender, GetRestGoodsCompletedEventArgs e)         private void btnUpdate_Click(object sender, EventArgs e)         {             {                 case 0:                 case 1:                 case 2:             }         }         private void pPanel_SelectionChanged(object sender, SelectionChangedEventArgs e)         {         }         private void miSettings_Click(object sender, EventArgs e)         }     } }
#28 by Serginio1
В смысле Клиента WCF из декстопного приложения. Сначала лучше сделать на декстопном приложении отладить, а затем уж приступать к мобильному. Если открывает wsdl то он проходит авторизацию. Единственно помню через браузер не подключалось если Юзер пароль были на кирилице. Ну и соответсвенно нужно смотреть какая авторизация на сервере 1С была на уровне Аутентификация 1С:Предприятия
#29 by ditron
В том то и дело что SDK отличается десктоп и WP (надо ставить у меня VS Express for WP), в WP многого нет, все что нашел (статьи, форумы) все для десктопа, практически, я даже уверен что если напишу будет работать, жалко время тратить. Вот у Калиновского то что надо, но блин службы не 1С-ные. Сейчас полажу еще в настройках IIS. Если что-то будет получатся обязательно отпишусь, я думаю тема многим будет интересна, сейчас мобильные приложения наберут большие обороты, кстати а вот тот-же клиент писал под андроид (правда там платформа встроена, там просто все конфигурацию написал, скомпилил, и на тебе) - работает же сволочь )
#30 by Serginio1
Но ты сможешь посмотреть настройки в Конфиге и сравнить с мобильными. Просто у меня есть опыт работы с мобильными приложениями и проще олаживать на декстопном приложении, а затем переносить на мобильное. Кроме того еще есть фидлер и смотреть разницу в сообщениях
#31 by Serginio1
Кстати задай вопрос здесь Там намного больше народу занимающихся C# для мобильных приложений
#32 by ditron
Что такое фидлер?
#33 by Serginio1
#34 by Serginio1
Кстати иногда сообщения от сервера приходят не в стандарте SOAP. В этом случае ClientBase выдает муру типа в SoapHttpClientProtocol выдает нормально пришедшее сообщение. Фидлер показывает реальное отправленное и пришедшее сообщение
#35 by ditron
ААААА Включил автологин , конектится, данные приходят!!!
#36 by ditron
Значит все таки в аутентификации дело... роем дальше
#37 by Serginio1
Кстати а на VS Express for WP есть пункт Edit WCF Configuration?
#38 by ditron
это в контекстном меню проекта? я редактирую ServiceReferences.ClientConfig он в проекте присутствует
#39 by ditron
и еще у меня VS руссифицированный офиц. релиз )
#40 by Serginio1
Сейчас подключился к известному мне сервису на 1С там нужно как в 24 либо поправить конфиг Но удобне это делать через Microsoft® Service Configuration Editor который вызывается в контекстном меню по клику правой копкой на app.config Но у тебя другая ошибка
#41 by Serginio1
Но в 1С кстати 2 точки подключения. Видно WP не поддерживает Soap12
#42 by Serginio1
#43 by ditron
Да не поддерживает, я это с самого начала знал. Я же говорю тут проблема в авторизации, сейчас стоит автологин в vrd файле прописал ручками, и данные ходят. Админы дали доступ к консоли ИИС, там оказывается Basic Authentication выключен
#44 by Serginio1
Посмотри снифером что тебе сервер выдает
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С