Spec-Zone.ru › OpenJDK 8

Класс MessageFactory

  • java.lang.Object
    • javax.xml.soap.MessageFactory

public abstract class MessageFactory
extends Object

Фабрика для создания объектов SOAPMessage.

Клиент SAAJ может создать объект MessageFactory с помощью метода newInstance, как показано в следующих строках кода.

MessageFactory mf = MessageFactory.newInstance();
       MessageFactory mf12 = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);

Все объекты MessageFactory, независимо от способа их создания, будут производить объекты SOAPMessage, которые по умолчанию содержат следующие элементы:

  • Объект SOAPPart
  • Объект SOAPEnvelope
  • Объект SOAPBody
  • Объект SOAPHeader
В некоторых случаях могут быть получены специализированные объекты MessageFactory, которые производят сообщения, предварительно заполненные дополнительными записями в объекте SOAPHeader и объекте SOAPBody. Содержимое нового объекта SOAPMessage зависит от того, какой из двух методов MessageFactory используется для его создания.
  • createMessage()
    Этот метод обычно используется клиентами для создания сообщения запроса.
  • createMessage(MimeHeaders, java.io.InputStream) -- сообщение содержит содержимое из объекта InputStream и заголовки из объекта MimeHeaders
    Этот метод может использоваться внутри реализации сервиса для создания сообщения-ответа на запрос.

Конструкторы

Конструктор и описание
MessageFactory()

Методы

Модификатор и тип Метод и описание
abstract SOAPMessage createMessage()

Создаёт новый объект SOAPMessage с объектами по умолчанию SOAPPart, SOAPEnvelope, SOAPBody, и SOAPHeader.

abstract SOAPMessage createMessage(MimeHeaders headers, InputStream in)

Интернализует содержимое данного объекта InputStream в новый объект SOAPMessage и возвращает объект SOAPMessage.

static MessageFactory newInstance()

Создаёт новый объект MessageFactory, который является экземпляром реализации по умолчанию (SOAP 1.1). Этот метод использует следующую процедуру поиска для определения класса реализации MessageFactory для загрузки: Использовать системную переменную javax.xml.soap.MessageFactory.

static MessageFactory newInstance(String protocol)

Создаёт новый объект MessageFactory, который является экземпляром указанной реализации.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

MessageFactory

public MessageFactory()

Методы

newInstance

public static MessageFactory newInstance()
                                  throws SOAPException

Создаёт новый объект MessageFactory, который является экземпляром реализации по умолчанию (SOAP 1.1). Этот метод использует следующую процедуру поиска для определения класса реализации MessageFactory для загрузки:

  • Использовать системную переменную javax.xml.soap.MessageFactory.
  • Использовать файл свойств "lib/jaxm.properties" в каталоге JRE. Этот конфигурационный файл имеет стандартный формат java.util.Properties и содержит полное имя класса реализации с ключом, соответствующим системной переменной, определённой выше.
  • Использовать API сервисов (как описано в спецификации JAR), если оно доступно, для определения имени класса. API сервисов будет искать имя класса в файле META-INF/services/javax.xml.soap.MessageFactory в доступных во время выполнения JAR-файлах.
  • Использовать экземпляр SAAJMetaFactory для поиска класса реализации MessageFactory.

Возвращает:
новый экземпляр MessageFactory
Изначает:
SOAPException - если произошла ошибка при создании реализации по умолчанию MessageFactory.
См. также:
SAAJMetaFactory

newInstance

public static MessageFactory newInstance(String protocol)
                                  throws SOAPException

Создаёт новый объект MessageFactory, который является экземпляром указанной реализации. Может быть динамической фабрикой сообщений, фабрикой сообщений SOAP 1.1 или фабрикой сообщений SOAP 1.2. Динамическая фабрика сообщений создаёт сообщения на основе MIME-заголовков, указанных в качестве аргументов методу createMessage . Этот метод использует SAAJMetaFactory для поиска класса реализации и создания экземпляра MessageFactory.

Параметры:
protocol - строковая константа, представляющая класс указанной реализации фабрики сообщений. Может быть либо DYNAMIC_SOAP_PROTOCOL, либо DEFAULT_SOAP_PROTOCOL (что то же самое, что) SOAP_1_1_PROTOCOL, или SOAP_1_2_PROTOCOL.
Возвращает:
новый экземпляр MessageFactory
Изначает:
SOAPException - если произошла ошибка при создании указанной реализации MessageFactory.
С тех пор:
SAAJ 1.3
См. также:
SAAJMetaFactory

createMessage

public abstract SOAPMessage createMessage()
                                   throws SOAPException

Создаёт новый объект SOAPMessage с объектами по умолчанию SOAPPart, SOAPEnvelope, SOAPBody, и SOAPHeader. Фабрики сообщений, специфичные для профиля, могут выбрать предварительное заполнение объекта SOAPMessage заголовками, специфичными для профиля.

Содержимое может быть добавлено к объекту SOAPPart этого сообщения, и сообщение может быть отправлено "как есть", если достаточно сообщения, содержащего только часть SOAP. В противном случае, объект SOAPMessage должен создать один или несколько объектов AttachmentPart и добавить их к себе. Любое содержимое, которое не в формате XML, должно быть в объекте AttachmentPart.

Возвращает:
новый объект SOAPMessage
Изначает:
SOAPException - если произошла ошибка SOAP
UnsupportedOperationException - если протокол этого экземпляра MessageFactory является DYNAMIC_SOAP_PROTOCOL

createMessage

public abstract SOAPMessage createMessage(MimeHeaders headers,
                                          InputStream in)
                                   throws IOException,
                                          SOAPException

Интернализует содержимое данного объекта InputStream в новый объект SOAPMessage и возвращает объект SOAPMessage.

Параметры:
in - объект InputStream, содержащий данные для сообщения
headers - транспортно-специфические заголовки, передаваемые сообщению в транспортно-независимом формате для создания сообщения
Возвращает:
новый объект SOAPMessage, содержащий данные из данного объекта InputStream
Изначает:
IOException - если возникла проблема при чтении данных из потока ввода
SOAPException - может быть вызвано, если сообщение недействительно
IllegalArgumentException - если MessageFactory требует наличия одного или нескольких MIME-заголовков в параметре headers и они отсутствуют. Реализации MessageFactory для SOAP_1_1_PROTOCOL или SOAP_1_2_PROTOCOL не должны выбрасывать IllegalArgumentException по этой причине.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API