![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Adept |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 10.7.2003 Где: Санкт-Петербург Репутация: нет Всего: 2 |
Есть .NET сервис. Сервис разработан на платформе WCF(indigo)(.NET 3.0)
Связь с клиентом осуществляется по wsHTTPBinding Мне надо написать клиента для него. Какой фреймворк выбрать? Надо чтобы он поддерживал WS-I Basic Profile 1.1 И вообще как это все осуществляется? Нужно юзать ws-adressings? |
|||
|
||||
| AlexeyVorotnikov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 3 Всего: 18 |
Попробуйте посмотреть на библиотеку Apache Axis.
-------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 7 Всего: 13 |
какая версия джавы? какой аппсервер?
сейчас все имплементации уже поддерживают профиль 1.1, адрессинг тебе может и не понадобится, смотря что твой веб сервис делает... Вместо wsHTTPBinding сделай customBinding, там поставь транспортный уровень на SOAP 1.1 без адрессинга, так точно будет работать практически с любым клиентом, генерируй по этому WSDL-нику клиентский прокси каким-нибудь wsdl2java и вперед... Также полезно почитать про родную разработку на базе JAX-WS (т.е. джава 5 минимум) WSIT, это отдельный официальный проект по интероперабельности Java веб сервисов и WCF веб сервисов, если тебе надо что-то серьезное на веб сервисах замутить - тебе туда. Если, конечно, ты не используешь IBM WAS... Кстати, если ты юзаешь мустанга, то там уже все есть для генерации клиента для веб сервиса, да и аппсервер не нужен... Это сообщение отредактировал(а) y3u - 2.8.2007, 06:24 -------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
| Adept |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 10.7.2003 Где: Санкт-Петербург Репутация: нет Всего: 2 |
jdk1.6.0 и tomcat 5.5.17
Вебсервис тестовый, чисто строку принять и выдать. Но сервис немой, а чел сопротивляется менять биндинг. Щас посмотрю jax-ws и wsit. |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 7 Всего: 13 |
Передавай от меня этому челу большой привет. Сопротивляется зря, пусть поднимет еще один инстанс сервиса на другом порту с другим биндингом, если ему нужен биндниг, который сейчас могут поддерживать только майкросовтовские клиенты...
Для простого клиента, тебе надо взять URL к WSLD-нику и сгенерить для этого урла прокси классы при помощи входящей в комплект мустанга утилиты wsdl2java, на сколько я помню, он умеет их в jar паковать. А в коде все просто. Там у тебя будет классик, лежащий в пекедже с названием как у неймспейса этого веб сервиса (скорее всего org.tempuri.), название класса будет как у веб сервиса, вобщем узнаешь. Используется элементарно. Делаешь филд этого типа, метишь аннотацией @WebServiceRef, указываешь URL к WSDL-нику, далее в коде из этого заинджекченого ресурса достаешь эдпоинт, который будет у тебя интерфейсом этого класса веб сервиса, ну и уже у него можно спокойног дергать бизнес методы этого веб сервиса. Если тот чел использовал бы DataContract-ы, то из XSD-шек у тебя сгенерились бы прокси классики для этих типов, их можно исползовать как обычные объекты. Осторожнее с энумерейшенами, там майкрософт опять занимается собственоручным наращиванием спецификации. В MS энумерейшены могут иметь произвольные целочисленные значения, а в Java энумы идут по порядку, соответственно wsdl2java игнорирует майкросовтовский этот экстеншен в XSD. Тут могут вылезти ошибки, т.к. майкрософт ждет, к примеру, 5, имея в энуме вместо четверки пятерку (a,b,c,d,e = 5), а реально получит 4, а это другое значение энума... -------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
| Adept |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 10.7.2003 Где: Санкт-Петербург Репутация: нет Всего: 2 |
Я раньше попробывал на axis2 сделать клиента, но неполучилось приконектится (походу для wsHTTPBinding никак)
org.apache.axis2.AxisFault: Read timed out at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:221) Спасиба y3u за советы, щас wsit tutorial читаю. |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 7 Всего: 13 |
ты попробуй браузером WSDL-ник просмотреть, если браузер показывает, значит все нормально, значит коннектиться должОн... -------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
| Adept |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 10.7.2003 Где: Санкт-Петербург Репутация: нет Всего: 2 |
Все получилось на биндингах customBindig и basicHttpBinding.
Y3u респект и благодарность. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |