Предложение для платформы веб-сервиса для Java

Я хочу платформу веб-сервиса, которая является открытым исходным кодом и свободный для коммерческого использования, также безопасность является основным беспокойством также. Предложите платформу веб-сервиса для Java с помощью стандарта SOAP.

7
задан blank 29 January 2010 в 13:51
поделиться

6 ответов

Вот общие рамки, все они довольно зрелыми:

Вся поддержка SOAP.

Я использовал как CXF, так и Spring-WS. Оба легко настроить и использовать.

5
ответ дан 6 December 2019 в 08:43
поделиться

Я бы использовал прилагаемый Java.

http://java.sun.com/webservices/docs/2.0/tuTorial/doc/

0
ответ дан 6 December 2019 в 08:43
поделиться

Весенние рамки будут определенным победителем для такого рода требований. Весна и его модули, включая весенние безопасность, WebServices Spring делает его подходящим для этого.

2
ответ дан 6 December 2019 в 08:43
поделиться

попробуйте:

 ALTER TABLE `user` CHANGE `id` `id` INT( 11 ) COMMENT 'id of user'  
-121--757690-

Я столкнулся с этой проблемой некоторое время назад для приложения, над которым работал. То, что я в итоге сделал, так это положил вызов на тэг в сервисном методе:

class MyService {
   def grailsApplication //autowired by spring

   def methodThatUsesATag(identifier, originalFileName) {
      //This is the default grails tag library
      def g = grailsApplication.mainContext.getBean('org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib')

      g.resourceLinkTo(dir:"docs/${identifier}",file:originalFileName)
   }
}

Затем в моем классе домена, я мог попасть в сервис через пружинную автосеть:

class MyDomain {
    String originalFileName
    def myService  //autowired

    static transients = ['myService'] //Necessary so that GORM doesn't try to persist the service instance.

    //You can create a method at this point that uses your
    //service to return what you need from the domain instance.
    def myMethod() {
       myService.methodThatUsesATag(id, originalFileName)
    }
}
-121--3366988-

Я согласен с вариантом Spring-WS. Я использовал его в разное время, и он быстро становится моим выбором веб-сервиса, если нет других факторов, которые специально исключают его.

Хотя это немного не тема, если вы находитесь в стадии планирования, я бы дал следующие рекомендации.

  1. Выберите подход сверху вниз. Spring-WS определенно поддерживает это (это предпочтительный метод). Таким образом, если вы внесете изменения в базовый код, вам не нужно будет беспокоиться о случайном обновлении WSDL. Кроме того, во время разработки можно рассматривать WSDL как точку интерфейса и не просматривать другие подробные документы.

  2. Используйте JAXB для создания объектов запроса/ответа. Это намного проще в долгосрочной перспективе и определенно помогает убедиться, что вы кодируете, как того требует ваш WSDL (довольно много раз я смотрел на сгенерированные объекты и видел, что они не выглядели правильно, только чтобы узнать, что я изменил WSDL неправильно).

  3. Используйте аннотации в конечных точках.

Таковы основные точки. Удачи.

1
ответ дан 6 December 2019 в 08:43
поделиться

Посмотрите на ось. Это довольно просто и легко в использовании. http://ws.apache.org/axis/

1
ответ дан 6 December 2019 в 08:43
поделиться

Я бы предложил реализацию JAX-WS: JAX-WS RI (который является частью Metro) или Apache CXF . Оба очень близки с точки зрения времени выполнения, но многие люди считают, что CXF имеет лучшую документацию (может быть важным критерием). Оба обеспечивают интеграцию со Spring, если это важно для вас (на самом деле, достойные фреймворки просто не могут игнорировать Spring, так что это неудивительно).

Spring-WS - еще один вариант, но он не совместим с JAX-WS, поддерживает только подход «сначала контракт» (из XSD) - это философский выбор - и не поддерживает многие стандарты WS- * (которые вы хотя может и не понадобиться).

В любом случае, я бы держался подальше от Axis 2 с ее ужасной архитектурой развертывания и адом упаковки (само веб-приложение Axis 2 является контейнером для веб-сервисов, которые должны быть упакованы в определенные архивы). Я считаю это совершенно контрпродуктивным. Вдобавок ко всему, он даже не очень хорошо работает .

12
ответ дан 6 December 2019 в 08:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: