Изучаем Java EE 7 - [223]
>@WebService(portName = "CreditCardValidator",
>············serviceName = "ValidatorService")
>@SOAPBinding(style = RPC, use = LITERAL)
>public class CardValidator {
>··@WebResult(name = "IsValid")
>··@WebMethod(operationName = "ValidateCreditCard")
>··public boolean validate(@WebParam(name = "Credit-Card")
>··························CreditCard creditCard) {
>····// Бизнес-логика
>··}
>··@WebResult(name = "IsValid")
>··@WebMethod(operationName = "ValidateCreditCardNumber")
>··public void validate(@WebParam(name = "Credit-Card-Number")
>·······················String creditCardNumber) {
>····// Бизнес-логика
>··}
>··@WebMethod(exclude = true)
>··public void validate(Long creditCardNumber) {
>····// Бизнес-логика
>··}
>}
В листинге 14.16 определена веб-служба, которая следует модели «RPC/буквальное кодирование» и предоставляет только два метода (обратите внимание, что метод validate(Long CreditCardNumber) не виден из-за аннотации @WebMethod(exclude=true)). Каждый параметр метода и возвращаемые значения переименованы, чтобы WSDL получилась более выразительной. В листинге 14.17 показан результирующий WSDL-документ, который вы можете сравнить с исходным, приведенным в листинге 14.1 (различия выделены полужирным шрифтом).
>
>
>······xmlns: soap="http://schemas.xmlsoap.org/wsdl/soap/"
>······xmlns: tns="http://chapter14.javaee7.book.agoncal.org/"
>······xmlns: xsd="http://www.w3.org/2001/XMLSchema"
>······xmlns="http://schemas.xmlsoap.org/wsdl/"
>······targetNamespace="http://chapter14.javaee7.book.agoncal.org/"
>······name="ValidatorService">
>··
>····
>······
>········schemaLocation="http://localhost:8080/chapter14/ValidatorService?xsd=1"/>
>····
>··
>··
>····
>··
>··
>····
>··
>··
>····
>··
>··
>··
>····
>······
>······
>····
>····
>······
>······
>····
>··
>··
>····
>······style="rpc"/>
>····
>······
>······
>········
>······
>······
>········
>······
>····
>····
>······
>······
>········
>······
>······
>········
>······
>····
>··
>··
>····
>·······binding="tns: CreditCardValidatorBinding">
>······
>····
>··
>
Аннотация @WebService переименовывает элементы WSDL
XML-схема изменяется, как и запрос и ответ, определенные в элементе
>
>···········targetNamespace="http://chapter14.javaee7.book.agoncal.org/" version="1.0">
>··
>····
>····
>····
>····
>····
>··
>
WSDL (см. листинг 14.17) и XSD (см. листинг 14.18) используются для определения контракта между потребителем и поставщиком службы. Но во время выполнения они не применяются и потребитель и поставщик обмениваются только конвертами SOAP. В листинге 14.19 показан SOAP-запрос, который отправляется веб-службе. Он определяет вызываемый метод (ValidateCreditCard) и параметры, передаваемые этому методу (Credit-Card).
Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.
Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.