|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
Добрый день! Есть сторонний сервис WCF, для меня он - черный ящик. Известно, что он работает только по HTTPS Задача: Подключиться к нему и дернуть метод listBrands Делаю так. Создаю Windows Forms Application, в которое делаю Add Service Reference, ссылка https://api.forum-auto.ru/wsdl, он его видит (WSDL-читает), все OK, называю ссылку "ApiForumAuto" Далее по кнопке: string login = "xxxxx"; string password = "yyyyyyy"; string oem = "530053610"; ApiForumAuto.FA_API_PortTypeClient _client = new FA_API_PortTypeClient(); string err = ""; try { err = _client.listBrands(login, password, oem); } catch (Exception ex) { MessageBox.Show(ex.Message); } Вываливает Exception с текстом " Error in deserializing body of reply message for operation listBrands " Есть идеи? Автоматически сформированный App.config таков: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2018, 14:17 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
AlexV1, Хозяин сервиса знает как авторизоваться. Стек ошибки дайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2018, 15:15 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
Server stack trace: at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, XmlSerializer serializer, MessagePartDescription returnPart, MessagePartDescriptionCollection bodyParts, Object[] parameters, Boolean isRequest) at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, String action, MessageDescription messageDescription, Object[] parameters, Boolean isRequest) at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeBodyContents(Message message, Object[] parameters, Boolean isRequest)\r\n at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeReply(Message message, Object[] parameters) at System.ServiceModel.Dispatcher.ProxyOperationRuntime.AfterReply(ProxyRpc& rpc) at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at SendRequestApp.ApiForumAuto.FA_API_PortType.listBrands(String login, String pass, String art) at SendRequestApp.ApiForumAuto.FA_API_PortTypeClient.listBrands(String login, String pass, String art) in D:\\work\\TestProj\\SendRequestApp\\SendRequestApp\\Connected Services\\ApiForumAuto\\Reference.cs:line 141 at SendRequestApp.Form1.button3_Click(Object sender, EventArgs e) in D:\\work\\TestProj\\SendRequestApp\\SendRequestApp\\Form1.cs:line 345" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 06:11 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
AlexV1 Задача: Подключиться к нему и дернуть метод дерните метод без возврата, void ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 07:43 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
без возврата, это как? "err =" убрать, то есть просто вызвать так: Код: c# 1.
Вызвал. Ошибка та же. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 08:24 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
AlexV1, И студия промолчала? )). Дай прокси класс. Там в авто ру сайте сервис наверно учебный или фейковый)). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 09:02 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
авторИ студия промолчала? )). Да авторДай прокси класс. А где ж его взять то? Все, что я накидал в своем проекте, есть в этом топике выше. авторТам в авто ру сайте сервис наверно учебный или фейковый)) Не, им точно пользуются люди, причем успешно. И не авто.ру, а forum-auto.ru :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 09:19 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
AlexV1Не, им точно пользуются люди, причем успешносчас попробую сам к нему) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 09:37 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
AlexV1А где ж его взять то?в папке смотри файлы где ссылка. А не через студию. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 09:38 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
Petro123 , Вот дока по этому сервису https://api.forum-auto.ru/docs/index.php Может поможет. Пример есть, но только на php, на .net нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 10:32 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
AlexV1 Код: xml 1.
Это не https ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 10:59 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
Но это студия при добавлении Add Service Reference так прописала app.config, я конфиг не правил :-) авторbinding="basicHttpBinding" Это не https Вот у меня и проблема, как правильно прописать конфиг. Лучше даже не через конфиг задавать настройки, а через C#-код создавать endpoint, binding и т.д. Буду благодарен, если поможете. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 13:38 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
AlexV1, Начни с простого. - скрин галок в форме добавки ссылки сюда - изменения конфига после добавки ссылки тоже сюда. Все должно быть автоматом. Если нет, то сервер фигово сконфигурирован. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 14:09 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
AlexV1Лучше даже не через конфиг задавать настройки, а через C#-код создавать endpoint, binding и т.д.не люблю. Только если баг исправляем. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 14:15 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
Все получилось. Спасибо за помощь. Дело оказалось не в HTTPS и не в версии библиотек. Просто у провайдера криво сделан сервис: Развал с ошибкой десериализации исчез когда я догадался найти учетку другого клиента и под ней выполнить запрос - он успешно прошел! Доступ к учетке "xxxxx" похоже закрыт :-) Но вот нельзя им было вернуть на клиента Код и дескрипшен ошибки вместо грубого развала.... Слов нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 08:00 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
AlexV1Доступ к учетке "xxxxx" похоже закрыт :-)да. Криворукие программисты. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 09:04 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
Дело похоже не в HTTPS Итак, что имеем: При вызове метода listGoods, выдает Exception: Error in deserializing body of reply message ... InnerException: There is an error in XML document (2,467). Окно Add Service Reference прилагаю Также решил дернуть сервис с пом.утилиты SoapUI и Exception нет. Вроде XML вернул, что товары не найдены [img="AddServiceRef.jpg"] Пробовал также maxReceivedMessageSize задавать большим в App.confog у binding, безрезультатно, все равно выдает Error deserializing ... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 08:40 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 09:36 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
AlexV1, Открой окно классов и покажи методы сервиса с парамерами. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 09:44 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
Petro123, это где такое окно? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 12:46 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
AlexV1Petro123, это где такое окно? Ну ты хоть поиск используй. Ctrl+Shift+C ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 14:11 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
AlexV1, Забей. Не используй клиента WCF. Проблема в том, что WSDL имеет другой формат, отличный от от принятого в MS. Пример такой же проблемы Делай вручную... По Exception все верно, видишь, приходит faultcode, faultstring - обрабатывай. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 17:44 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
refregНе используй клиента WCF.круто. Мы используем и у нас все работает. Всё устраивает. Правда галочки не те что вверху на скрине. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 19:04 |
|
Подключение к стороннему WCF по HTTPS
|
|||
---|---|---|---|
#18+
Petro123, а сервер какой? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 19:09 |
|
|
Start [/forum/topic.php?fid=19&fpage=2&tid=1396688]: |
0ms |
get settings: |
14ms |
get forum list: |
16ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
69ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
598ms |
get tp. blocked users: |
1ms |
others: | 387ms |
total: | 1099ms |
0 / 0 |