Главная страница
Навигация по странице:

  • а содержимое ПОСЛаНИЯ — Интерфейс

  • и определенный в спецификации SOAP. Элементы, вложенные в , описаны а циально описан интерфейсом

  • Интерфейс SOAPEnvelope добавляет к методам интерфейса сле

  • создает элемент XML С именем

  • Содержимое послания SOAPBody

  • Послание SOAPMessage

  • Процесс создания SOAP-послания

  • Разработка веб-служб средствами Java. Ильдар ХабибуллинРазработкаWebслужбсредствами


    Скачать 9.24 Mb.
    НазваниеИльдар ХабибуллинРазработкаWebслужбсредствами
    АнкорРазработка веб-служб средствами Java.pdf
    Дата03.02.2018
    Размер9.24 Mb.
    Формат файлаpdf
    Имя файлаРазработка веб-служб средствами Java.pdf
    ТипКнига
    #15148
    КатегорияИнформатика. Вычислительная техника
    страница12 из 21
    1   ...   8   9   10   11   12   13   14   15   ...   21
    И . Это
    SOAPEnvelope, SOAPHeader, SOAPBody.
    Блоки заголовка описывает интерфейс
    а содержимое
    ПОСЛаНИЯ —
    Интерфейс SOAPBodyElement расширен интерфейсом
    описы-
    вающим элемент — единственный элемент, вложенный в элемент
    и определенный в спецификации SOAP. Элементы, вложенные в
    , описаны
    а
    < d e t a i l >
    циально описан интерфейсом D e t a i l . Элементы, вложенные в ,
    D e t a i l E n t r y .
    Вся эта иерархия интерфейсов показана на рис. 6.1.
    SOAPEnvelope
    -SOAPHeader
    -SOAPBody
    SOAPFault
    Detail
    -DetailEntry
    6 . 1 . Иерархия интерфейсов SAAJ
    Корневой элемент SOAPEnvelope
    Интерфейс SOAPEnvelope добавляет к методам интерфейса
    сле-
    дующие методы, создающие элементы SOAP-послания:
    p u b l i c SOAPHeader
    добавляет К SOAP-ПОСЛаниЮ пустой
    заголовок — элемент
    и возвращает ссылку на
    p u b l i c SOAPHeader
    формирует элемент
    И ВОЗ-
    вращает ссылку на него;
    p u b l i c SOAPBody
    добавляет к SOAP-посланию пустой эле-
    мент и возвращает ссылку на него;
    p u b l i c SOAPBody getBody () — возвращает ссылку на созданный этим же
    методом пустой элемент ;
    • p u b l i c Name
    ( S t r i n g
    создает элемент XML С
    именем localName без префикса;
    public Name localName, String prefix, String u r i ) — создает элемент XML с расширенным именем
    и идентификатором пространства имен u r i .

    Глава 6. Детали создания Web Services
    Заголовок послания SOAPHeader
    Интерфейс SOAPHeader, в свою очередь, описывает метод public name),
    создающий и добавляющий блок заголовка с именем name. Кроме этого ме- тода в интерфейс входит еще метод public Iterator actor),
    возвращающий итератор для перебора всех блоков заголовка, предназна- ченных для роли actor, и метод public Iterator actor),
    удаляющий из заголовка блоки, предназначенные для роли actor, и воз- вращающий итератор для их перебора.
    Содержимое послания SOAPBody
    Интерфейс SOAPBody содержит метод public name),
    добавляющий к содержимому SOAP-послания произвольный элемент, и методы public SOAPFault public SOAPFault public boolean работающие с элементом вкладываемым в элемент для от- правки сообщения об ошибке.
    Как видите, интерфейсы, входящие в пакет SAAJ, детально описывают структуру SOAP-послания и содержат все методы для создания и изменения его элементов.
    Послание SOAPMessage
    Пакет SAAJ позволяет создавать SOAP-послания с дополнениями, следуя спецификации "SOAP с дополнениями", с которой мы познакомились в гла-
    ве 3. Для этого в его состав введен абстрактный класс SOAPMessage, методы которого создают, добавляют или удаляют дополнительные части послания.
    Начальная часть SOAP-послания с дополнениями, содержащая собственно
    SOAP-послание, описана абстрактным классом soAPPart, а сами дополне- ния определены в абстрактном классе AttachmentPart. Заголовок каждой части добавляется и удаляется методами класса а каждое поле заголовка — методами класса

    Разработка Web-служб средствами Java
    Таким образом, пакет SAAJ составлен из интерфейсов и абстрактных классов,
    требующих реализации. В наборе Sun WSDP такая реализация сделана клас- сами, упакованными в архив saaj-ri.jar. Реализация сильно зависит от опера- ционной среды, в которой будет работать система SAAJ. Поэтому у классов,
    реализующих пакет SAAJ, почти нет конструкторов, их экземпляры создают- ся через фабричные классы и их методы. Фабричные классы MessageFactory,
    SOAPFactory И SOAPConnectionFactory ВХОДЯТ В
    SAAJ.
    Процесс создания SOAP-послания
    Формирование SOAP-послания удобно начать с создания экземпляра класса
    SOAPMessage. Для ЭТОГО
    метод класса
    MessageFactory, предварительно создав объект класса MessageFactory его же статическим методом
    ():
    MessageFactory
    =
    SOAPMessage
    =
    Далее из объекта smsg, представляющего SOAP-послание с дополнениями,
    выделяем начальную часть soapPart, содержащую пока еще пустое SOAP- послание:
    SOAPPart soapPart =
    Потом создаем корневой элемент SOAP-послания:
    SOAPEnvelope env =
    После этого уже сформирован элемент
    В то время, когда были написаны эти строки, пакет SAAJ 1.1 формировал
    SOAP-послания версии SOAP 1.1, поэтому он записал старый идентифика- тор пространства имен
    Затем формируем заголовок
    1   ...   8   9   10   11   12   13   14   15   ...   21


    написать администратору сайта