Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вебсервисы, интероперабельность, надо написать клиента к .NET сервису 
:(
    Опции темы
Adept
Дата 1.8.2007, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Есть .NET сервис. Сервис разработан на платформе WCF(indigo)(.NET 3.0)
Связь с клиентом осуществляется по wsHTTPBinding
Мне надо написать клиента для него.
Какой фреймворк выбрать? 
Надо чтобы он поддерживал WS-I Basic Profile 1.1 
И вообще как это все осуществляется? Нужно юзать ws-adressings?

PM MAIL   Вверх
AlexeyVorotnikov
Дата 1.8.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 18.6.2007
Где: Москва

Репутация: 3
Всего: 18



Попробуйте посмотреть на библиотеку Apache Axis.


--------------------
RTFM!
Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification
PM MAIL   Вверх
y3u
Дата 1.8.2007, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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


--------------------
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
PM MAIL   Вверх
Adept
Дата 2.8.2007, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



jdk1.6.0 и tomcat 5.5.17
Вебсервис тестовый, чисто строку принять и выдать.
Но сервис немой, а чел сопротивляется менять биндинг. 
Щас посмотрю jax-ws и wsit.
PM MAIL   Вверх
y3u
Дата 2.8.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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, а это другое значение энума...


--------------------
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
PM MAIL   Вверх
Adept
Дата 2.8.2007, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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 читаю.
PM MAIL   Вверх
y3u
Дата 2.8.2007, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 9.9.2006
Где: Москва

Репутация: 7
Всего: 13



Цитата(Adept @  2.8.2007,  14:11 Найти цитируемый пост)
Я раньше попробывал на axis2 сделать клиента, но неполучилось приконектится 


ты попробуй браузером WSDL-ник просмотреть, если браузер показывает, значит все нормально, значит коннектиться должОн...


--------------------
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
PM MAIL   Вверх
Adept
Дата 3.8.2007, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Все получилось на биндингах customBindig и basicHttpBinding.
Y3u респект и благодарность.   smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0550 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.