Веб-сервис, написанный на WCF и Java - PullRequest
1 голос
/ 22 июня 2011

Могу ли я написать веб-сервис, который реализует те же методы и возвращает те же пользовательские объекты, используя как C # / WCF, так и веб-сервисы Java? И если да, то могу ли я получить доступ к веб-службам, используя одну веб-ссылку, но с разными адресами?

Я спрашиваю, потому что мне нужно разместить веб-сервис с методом GetCitations и GetTerms для публичного показа содержимого нашей базы данных. Мы на IIS, поэтому я собирался сделать это с WCF. Тем не менее, другие партнеры по проекту также должны размещать эквивалентную службу, и все они основаны на Java.

Затем мы создаем программное приложение, которое должно подключаться к любому количеству этих служб (как определено пользователем во время выполнения). Я ожидаю, что у нас может быть один набор классов для подключения к этим службам (но с разными адресами конечных точек), но я не уверен, правильно ли я ожидаю, что это сработает.

Возможно ли это? И какие существуют соображения / ограничения?

Спасибо.

Ответы [ 3 ]

0 голосов
/ 22 июня 2011

Один из способов сделать это - использовать JAX-WS (Java 6) для представления метода в качестве веб-службы.

Стек JAX-WS позволяет автоматически генерировать правильный WSDL во время выполнения.

Команда .NET может затем взять этот WSDL и использовать стандартные инструменты для создания фиктивной реализации этого WSDL.Эта фиктивная реализация затем используется в качестве фактической реализации .NET, и затем вы используете стандартные инструменты для генерации WSDL для , что веб-службы.каждый со своим WSDL.

0 голосов
/ 22 июня 2011

Как Java, так и .NET могут реализовывать SOAP-совместимую веб-службу, поэтому ответ - да, вы можете написать .NET и веб-службу Java, которые реализуют один и тот же WSDL.

0 голосов
/ 22 июня 2011

Это не должно быть проблемой, если вы убедитесь, что обе службы имеют эквивалентные файлы wsdl и используете привязку http / soap.

Я не уверен в использовании двоичной (net.tcp)с WCF.Это может быть проблемой.

...