![]() |
![]() |
![]() |
|
1C <-> Java WS | ☑ | ||
---|---|---|---|---|
0
SemenHairy
14.03.11
✎
11:15
|
День добрый!
Битую неделю серфю инет, но не нашел ни одного ответа, одни вопросы... Ситуация очень типичная - есть web-service разработанный на Java (тут сразу оговорюсь - разработчик я, сервис сделан по всем правилам, отлажен, запущен в продакшен, знаю про него все, написано кучу ПО на С# и php которое с ним работает), пытаюсь вызывать методы из 1С стандартно получаю ошибку, что он не может привести типы возвращаемых значений. Аналогичные проблемы в темах: v8: Не могу заставить работать Web сервис, ошибка XDTO http://www.sql.ru/forum/actualthread.aspx?tid=705071 v8: Web-сервис: получить из сервиса несколько значений v8: Web-сервис, Получение ответа v8: v8: WS-ссылки и WebService Java - не скрестить (( ... и сотни других похожих тем... Пробовал по всячески как советовали в темах - все в пустую. Дампы показывают что данные на сервер приходят правильно, и в ответ данные посылаются корректно. Пробовал в 8.1 и 8.2 - одинаково. Если кто то сталкивался с данной проблемой и смог победить - пожалуйста отпишитесь! P.S. Умничать из серии "проверь работу своего веб сервиса, он работает не правильно" и т.п. - лучше промолчите поберегите своё время не устраивайте бесполезный флуд. |
|||
1
Fragster
гуру
14.03.11
✎
11:17
|
ошика XDTO говорит о том, что веб сервис возвращает невалидный XML
|
|||
2
Asmody
14.03.11
✎
11:19
|
если внимательно читал те ветки, то там везде написано: "не работает 1С с джавовскими сервисами". Напиши com-обертку
|
|||
3
Asmody
14.03.11
✎
11:21
|
(1) он может быть вполне валидный, просто 1С его не понимает
|
|||
4
Fragster
гуру
14.03.11
✎
11:25
|
(3) а ты проверь
|
|||
5
Fragster
гуру
14.03.11
✎
11:25
|
(2) я хз, какая разница, чем xml генерится?
|
|||
6
Fragster
гуру
14.03.11
✎
11:26
|
(4)+ лучше каким-нит анализатором трафика, причем
|
|||
7
Asmody
14.03.11
✎
11:28
|
(4) проверял. берешь простенький класс на java с парой полей разных типов (базовых), оборачиваешь в веб-сервис, который возвращает вектор объектов этого класса. втыкаешь в 1Ску - wsdl видит, данные не получает. Переписываешь на C# с точностью до синтаксиса, втыкаешь в 1Ску, всё работает
|
|||
8
Fragster
гуру
14.03.11
✎
11:29
|
(7) а через (6) смотреть если? какие различия у XML?
|
|||
9
Asmody
14.03.11
✎
11:30
|
(8) различия есть. но xml валидный и в том, и в другом случае.
|
|||
10
Fragster
гуру
14.03.11
✎
11:30
|
(9) ну так надо курить эти различия
|
|||
11
Asmody
14.03.11
✎
11:31
|
причем, на java пофиг как делать: хоть через jws, хоть через axis
|
|||
12
SemenHairy
14.03.11
✎
11:51
|
2 Fragster
Я умею читать :) вот только почему? XML-ельник который возвращается сервером валидный, разбирал дампы на уровне сетевого протокола, причем самое интересное даже простейший метод вызывает такую ошибку... 2 Asmody Тут дело простое - 1С работает на MSовских классах работы, а C# делает именно такие web-service, другой вопрос почему сам C# работает с Java, а 1С нет. Да еще пробовал использовать MSSOAP.SoapClient30 - тоже работает на ура, но крайне неудобно, особенно когда речь идет с работой вложенных классов. Написать обертку конечно всегда можно, вот только как то тратить неделю времени что бы обернуть почти полсотни методов как то жестко! ... нда я как то думал что 1С получше :) |
|||
13
Fragster
гуру
14.03.11
✎
11:53
|
а diff между с# и явовоским XML будет?
|
|||
14
SemenHairy
14.03.11
✎
12:17
|
У меня к сожалению нет сервиса на C# и проблема не в передаваемом а получаемом xml-нике... может у Asmody есть пример примеры с которых можно снять диф.
|
|||
15
Asmody
14.03.11
✎
17:14
|
набросал пример. вот код java http://pastebin.com/RCHALWV7
вот код C#(mono) http://pastebin.com/tfUKgME5 для начала отмечу, что java генерит весьма странный wsdl. вот что генерит java: http://pastebin.com/GLVHTBph а вот wsdl от mono: http://pastebin.com/U7MPM0Zz |
|||
16
Пип Пибип
14.03.11
✎
17:28
|
ОФФ: тема сия волнует меня, до глубины души
|
|||
17
Asmody
14.03.11
✎
17:34
|
(15)+ на java попробовал обернуть возвращаемый объект в массив в oneObject. Изначально там было просто
public SampleData oneObject() |
|||
18
Asmody
14.03.11
✎
17:35
|
вот так они выглядят в 1С http://img703.imageshack.us/img703/4890/wstest.png
|
|||
19
Asmody
14.03.11
✎
17:41
|
ну и соответственно, response на manyObjecs(10)
java: http://pastebin.com/nZLwVrEr mono: http://pastebin.com/WgDLQfyS |
|||
20
Asmody
14.03.11
✎
17:42
|
думаю теперь данных для размышления более, чем достаточно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |