|
|
|
Вызов внешнего веб-сервиса
|
|||
|---|---|---|---|
|
#18+
Сразу скажу - я не 1с-ник. Коллеги, подкиньте, плиз, код или ссылку на предмет вызова из 8-ки внешнего веб-сервиса. К примеру: http://localhost/test_1c_ws/Service1.asmx?WSDL метод Int32 add(Int32) Наши застопорились что-то ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 11:15 |
|
||
|
Вызов внешнего веб-сервиса
|
|||
|---|---|---|---|
|
#18+
ktvСразу скажу - я не 1с-ник. Аналогично. ktv Коллеги, подкиньте, плиз, код или ссылку на предмет вызова из 8-ки внешнего веб-сервиса Не уверен, есть ли встроенный функционал в 1C, однако, если я ничего не путаю, там есть возможность работать со сторонними COM-библиотеками. Поэтому самым простым решением мне представляется использование MS SOAP Toolkit . ktvК примеру: http://localhost/test_1c_ws/Service1.asmx?WSDL метод Int32 add(Int32) Ваш пример на VBScript (увы, я не знаю языка 1C) выглядел бы так: Код: plaintext 1. 2. 3. Надеюсь, это поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 11:37 |
|
||
|
Вызов внешнего веб-сервиса
|
|||
|---|---|---|---|
|
#18+
Благодарю, проясню ситуацию с COM-ом. С ним работали какое-то время, код был примерно такой. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Резюме - возникали проблемы с кодировкой. На сороне сервиса принималась какя-то ерунда в вде "?????". Сервис висит на Win2003 Server(инг.). Посему был попробован другой путь, описанный ниже Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. И вот этот второй путь он не работает. Не хочет он видеть методы сервиса. 1c-ники говорят, что провобвали и htp://...?wsdl подставлять - не выходит ничего... Я не могу прояснить код - те. кто шарит - поскажите, куда копать-то.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 13:13 |
|
||
|
Вызов внешнего веб-сервиса
|
|||
|---|---|---|---|
|
#18+
ktvБлагодарю, проясню ситуацию с COM-ом. С ним работали какое-то время, код был примерно такой. К сожалению, я не знаю что должен делать Ваш сервис, поэтому определить что не работает я с ходу не могу. Могу предположить, что вам нужно передать содержимое некоего файла и получить результат. Для начала я предлагаю все-таки остановиться на первоначальном варианте, благо он вполне рабочий. А чтобы определить в чем же собственно проблема (не исключено, что проблема в сервисе), давайте попробуем передать ваш файл без помощи 1С вообще. Выполните вот такой код (это VBScript): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. А еще, покажите, наконец, сигнатуру того метода сервиса, в котором у Вас проблема, и что Вы там делаете, что у Вас выдаются знаки вопроса. В общем, нужен код метода сервиса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 13:43 |
|
||
|
Вызов внешнего веб-сервиса
|
|||
|---|---|---|---|
|
#18+
Вот сам веб-метод. Tracer - это мой объект для логирования в EventLog виндовый. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Это оседает в логе - после вызова метода из 1с Код: plaintext 1. 2. 3. 4. 5. , а это Код: plaintext 1. 2. 3. 4. 5. после вызова из vs2005 Очевидно, что метод получает строку в нверной кодировке.. На сторое 1с - Юникод - какой - не знаю. ВИндовая кодировка - стандартная 1251. .. По коду видно, что оно идет в БД, там тож вопросы стоят, из 1с когда вызов.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 14:46 |
|
||
|
Вызов внешнего веб-сервиса
|
|||
|---|---|---|---|
|
#18+
Я попробовал воспроизвести вашу ошибку. Результаты следующие: - да Вы правы строка передается в виде UTF-8 строки - передается в UTF-8 независимо от того откуда я вызываю: хоть через MSSOAP, хоть из .Net клиента (почему у Вас разные результаты - загадака). Общая мысль, следующая - если для передачи происходит явная перекодировка, то вернуть исходную кодировку можно только принудительно. Попробуйте делать явное приведение кодировки из UTF-8. Другой вопрос, почему не все клиенты работают одинаково... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 16:43 |
|
||
|
Вызов внешнего веб-сервиса
|
|||
|---|---|---|---|
|
#18+
МихаилРЯ попробовал воспроизвести вашу ошибку. Результаты следующие: - да Вы правы строка передается в виде UTF-8 строки - передается в UTF-8 независимо от того откуда я вызываю: хоть через MSSOAP, хоть из .Net клиента (почему у Вас разные результаты - загадака). Общая мысль, следующая - если для передачи происходит явная перекодировка, то вернуть исходную кодировку можно только принудительно. Попробуйте делать явное приведение кодировки из UTF-8. Другой вопрос, почему не все клиенты работают одинаково... Я думал про перекодировку, заставлю попробовать умников.. Запарило ( - не смовим делом занимаюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 16:47 |
|
||
|
Вызов внешнего веб-сервиса
|
|||
|---|---|---|---|
|
#18+
спасибо за участие ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 16:47 |
|
||
|
Вызов внешнего веб-сервиса
|
|||
|---|---|---|---|
|
#18+
1. Na komputere gde rabotaet client Web servica ustanovite soap toolkit 3.0 2. Posle etogo client uvidet method Vot primer koda : Dim oSOAP 'Create an object of Soap Client Set oSOAP = Server.CreateObject("MSSOAP.SoapClient30") oSOAP.ClientProperty("ServerHTTPRequest") = True 'Initaialize the Web Service oSOAP.mssoapinit("http://kuku/WS/abc.asmx?wsdl") 'Invoke the Web Service result = oSOAP.Activate("aa", "ss", "tratata") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2009, 16:41 |
|
||
|
Вызов внешнего веб-сервиса
|
|||
|---|---|---|---|
|
#18+
ktv, Какая 8-ка? = 8.1? Если 8.1 то... Процедура ВызватьМетодWebСервиса(ПараметрыПодключения) Попытка Определение = Новый WSОпределения(ПараметрыПодключения.WSDL, ПараметрыПодключения.Login, ПараметрыПодключения.Pwd); WSПрокси = Новый WSПрокси(Определение, ПараметрыПодключения.URI, ПараметрыПодключения.Name, ПараметрыПодключения.Port); WSПрокси.Пользователь = ПараметрыПодключения.Login; WSПрокси.Пароль = ПараметрыПодключения.Pwd; // XDTOРезультат = WSПрокси.<ИмяМетода>(XDTOПараметр1, XDTOПараметр2...); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецПроцедуры // ВызватьМетодWebСервиса() Здесь просто вызывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2009, 17:27 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=35040635&tid=1523321]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
176ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 526ms |

| 0 / 0 |
