Message.CreateMessage Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает сообщение.
Перегрузки
| Имя | Описание |
|---|---|
| CreateMessage(MessageVersion, FaultCode, String, Object, String) |
Создает сообщение, содержащее ошибку SOAP, причину и сведения об ошибке, версию и действие. |
| CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) |
Создает сообщение с помощью указанной версии, действия, текста сообщения и сериализатора. |
| CreateMessage(MessageVersion, FaultCode, String, String) |
Создает сообщение, содержащее ошибку SOAP, причину сбоя, версию и действие. |
| CreateMessage(XmlDictionaryReader, Int32, MessageVersion) |
Создает сообщение с помощью указанного средства чтения, действия и версии. |
| CreateMessage(MessageVersion, String, XmlReader) |
Создает сообщение с помощью указанного средства чтения, действия и версии. |
| CreateMessage(XmlReader, Int32, MessageVersion) |
Создает сообщение с помощью указанного средства чтения, действия и версии. |
| CreateMessage(MessageVersion, String, BodyWriter) |
Создает сообщение с текстом, состоящим из массива байтов. |
| CreateMessage(MessageVersion, String, Object) |
Создает сообщение с указанной версией, действием и текстом. |
| CreateMessage(MessageVersion, MessageFault, String) |
Создает сообщение, содержащее ошибку SOAP, версию и действие. |
| CreateMessage(MessageVersion, String) |
Создает сообщение, содержащее версию и действие. |
| CreateMessage(MessageVersion, String, XmlDictionaryReader) |
Создает сообщение с указанной версией, действием и текстом. |
Примеры
В следующем примере кода показан клиент, использующий фабрику каналов для отправки сообщения и чтения ответа.
using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Runtime.Serialization;
namespace ConsoleApplication1
{
class client
{
static void RunClient()
{
//Step1: create a binding with just HTTP
CustomBinding binding = new CustomBinding();
binding.Elements.Add(new HttpTransportBindingElement());
//Step2: use the binding to build the channel factory
IChannelFactory<IRequestChannel> factory =
binding.BuildChannelFactory<IRequestChannel>(
new BindingParameterCollection());
//open the channel factory
factory.Open();
//Step3: use the channel factory to create a channel
IRequestChannel channel = factory.CreateChannel(
new EndpointAddress("http://localhost:8080/channelapp"));
channel.Open();
//Step4: create a message
Message requestmessage = Message.CreateMessage(
MessageVersion.Soap12WSAddressing10,
"http://contoso.com/someaction",
"This is the body data");
//send message
Message replymessage = channel.Request(requestmessage);
Console.WriteLine("Reply message received");
Console.WriteLine("Reply action: {0}",
replymessage.Headers.Action);
string data = replymessage.GetBody<string>();
Console.WriteLine("Reply content: {0}", data);
//Step5: don't forget to close the message
requestmessage.Close();
replymessage.Close();
//don't forget to close the channel
channel.Close();
//don't forget to close the factory
factory.Close();
}
public static void Main()
{
Console.WriteLine("Press [ENTER] when service is ready");
Console.ReadLine();
RunClient();
Console.WriteLine("Press [ENTER] to exit");
Console.ReadLine();
}
}
}
Imports System.Collections.Generic
Imports System.Text
Imports System.ServiceModel
Imports System.ServiceModel.Channels
Imports System.Runtime.Serialization
Namespace ConsoleApplication1
Friend Class client
Private Shared Sub RunClient()
'Step1: create a binding with just HTTP
Dim binding As New CustomBinding()
binding.Elements.Add(New HttpTransportBindingElement())
'Step2: use the binding to build the channel factory
Dim factory As IChannelFactory(Of IRequestChannel) = binding.BuildChannelFactory(Of IRequestChannel)(New BindingParameterCollection())
'open the channel factory
factory.Open()
'Step3: use the channel factory to create a channel
Dim channel As IRequestChannel = factory.CreateChannel(New EndpointAddress("http://localhost:8080/channelapp"))
channel.Open()
'Step4: create a message
Dim requestmessage As Message = Message.CreateMessage(MessageVersion.Soap12WSAddressing10, "http://contoso.com/someaction", "This is the body data")
'send message
Dim replymessage As Message = channel.Request(requestmessage)
Console.WriteLine("Reply message received")
Console.WriteLine("Reply action: {0}", replymessage.Headers.Action)
Dim data = replymessage.GetBody(Of String)()
Console.WriteLine("Reply content: {0}", data)
'Step5: don't forget to close the message
requestmessage.Close()
replymessage.Close()
'don't forget to close the channel
channel.Close()
'don't forget to close the factory
factory.Close()
End Sub
Public Shared Sub Main()
Console.WriteLine("Press [ENTER] when service is ready")
Console.ReadLine()
RunClient()
Console.WriteLine("Press [ENTER] to exit")
Console.ReadLine()
End Sub
End Class
End Namespace
Комментарии
Этот метод используется для создания новой копии сообщения, готового к отправке.
При работе с сообщениями JSON используется CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) метод, CreateMessage(MessageVersion, String, Object) метод не работает с сообщениями JSON.
CreateMessage(MessageVersion, FaultCode, String, Object, String)
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
Создает сообщение, содержащее ошибку SOAP, причину и сведения об ошибке, версию и действие.
public:
static System::ServiceModel::Channels::Message ^ CreateMessage(System::ServiceModel::Channels::MessageVersion ^ version, System::ServiceModel::FaultCode ^ faultCode, System::String ^ reason, System::Object ^ detail, System::String ^ action);
public static System.ServiceModel.Channels.Message CreateMessage(System.ServiceModel.Channels.MessageVersion version, System.ServiceModel.FaultCode faultCode, string reason, object detail, string action);
static member CreateMessage : System.ServiceModel.Channels.MessageVersion * System.ServiceModel.FaultCode * string * obj * string -> System.ServiceModel.Channels.Message
Public Shared Function CreateMessage (version As MessageVersion, faultCode As FaultCode, reason As String, detail As Object, action As String) As Message
Параметры
- version
- MessageVersion
MessageVersion Объект, указывающий версию SOAP, используемую для сообщения.
- faultCode
- FaultCode
MessageFault Объект, представляющий ошибку SOAP.
- reason
- String
Причина сбоя SOAP.
- detail
- Object
Сведения об ошибке SOAP.
- action
- String
Описание процесса обработки сообщения.
Возвращаемое значение
Созданный Message объект для сообщения.
Исключения
version, , faultactiondetail или faultCode есть .null
Комментарии
Этот статический метод используется для создания новой копии сообщения, готовой к отправке.
Применяется к
CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
Создает сообщение с помощью указанной версии, действия, текста сообщения и сериализатора.
public:
static System::ServiceModel::Channels::Message ^ CreateMessage(System::ServiceModel::Channels::MessageVersion ^ version, System::String ^ action, System::Object ^ body, System::Runtime::Serialization::XmlObjectSerializer ^ serializer);
public static System.ServiceModel.Channels.Message CreateMessage(System.ServiceModel.Channels.MessageVersion version, string action, object body, System.Runtime.Serialization.XmlObjectSerializer serializer);
static member CreateMessage : System.ServiceModel.Channels.MessageVersion * string * obj * System.Runtime.Serialization.XmlObjectSerializer -> System.ServiceModel.Channels.Message
Public Shared Function CreateMessage (version As MessageVersion, action As String, body As Object, serializer As XmlObjectSerializer) As Message
Параметры
- version
- MessageVersion
MessageVersion Объект, указывающий версию SOAP, используемую для сообщения.
- action
- String
Описание процесса обработки сообщения.
- body
- Object
Текст сообщения.
- serializer
- XmlObjectSerializer
Объект, используемый XmlObjectSerializer для сериализации сообщения.
Возвращаемое значение
Созданный Message объект для сообщения.
Исключения
version, fault или action есть null.
Комментарии
Этот статический метод используется для создания новой копии сообщения, готовой к отправке.
При работе с сообщениями JSON используется CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) метод, CreateMessage(MessageVersion, String, Object) метод не работает с сообщениями JSON.
Применяется к
CreateMessage(MessageVersion, FaultCode, String, String)
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
Создает сообщение, содержащее ошибку SOAP, причину сбоя, версию и действие.
public:
static System::ServiceModel::Channels::Message ^ CreateMessage(System::ServiceModel::Channels::MessageVersion ^ version, System::ServiceModel::FaultCode ^ faultCode, System::String ^ reason, System::String ^ action);
public static System.ServiceModel.Channels.Message CreateMessage(System.ServiceModel.Channels.MessageVersion version, System.ServiceModel.FaultCode faultCode, string reason, string action);
static member CreateMessage : System.ServiceModel.Channels.MessageVersion * System.ServiceModel.FaultCode * string * string -> System.ServiceModel.Channels.Message
Public Shared Function CreateMessage (version As MessageVersion, faultCode As FaultCode, reason As String, action As String) As Message
Параметры
- version
- MessageVersion
MessageVersion Объект, указывающий версию SOAP, используемую для сообщения.
- faultCode
- FaultCode
MessageFault Объект, представляющий ошибку SOAP.
- reason
- String
Причина сбоя SOAP.
- action
- String
Описание процесса обработки сообщения.
Возвращаемое значение
Созданный Message объект для сообщения.
Исключения
version, или faultaction есть faultCode. null
Комментарии
Этот статический метод используется для создания новой копии сообщения, готовой к отправке.
Применяется к
CreateMessage(XmlDictionaryReader, Int32, MessageVersion)
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
Создает сообщение с помощью указанного средства чтения, действия и версии.
public:
static System::ServiceModel::Channels::Message ^ CreateMessage(System::Xml::XmlDictionaryReader ^ envelopeReader, int maxSizeOfHeaders, System::ServiceModel::Channels::MessageVersion ^ version);
public static System.ServiceModel.Channels.Message CreateMessage(System.Xml.XmlDictionaryReader envelopeReader, int maxSizeOfHeaders, System.ServiceModel.Channels.MessageVersion version);
static member CreateMessage : System.Xml.XmlDictionaryReader * int * System.ServiceModel.Channels.MessageVersion -> System.ServiceModel.Channels.Message
Public Shared Function CreateMessage (envelopeReader As XmlDictionaryReader, maxSizeOfHeaders As Integer, version As MessageVersion) As Message
Параметры
- envelopeReader
- XmlDictionaryReader
Объект XmlDictionaryReader , используемый для чтения сообщения SOAP.
- maxSizeOfHeaders
- Int32
Максимальный размер заголовка в байтах.
- version
- MessageVersion
Допустимое MessageVersion значение, указывающее версию SOAP, используемую для сообщения.
Возвращаемое значение
Созданный Message объект для сообщения.
Исключения
envelopeReader или version есть null.
Комментарии
Message берет на себя ответственность envelopeReader.
Этот метод считывает конверт, буферизирует все заголовки в коллекцию заголовков и считывает его, но не включает начальный Body тег и возвращает сообщение. Если вызов метода вызывает исключение, он закрывает средство чтения.
Затем текст возвращаемого сообщения может быть прочитан или записан.
Текст сообщения можно считывать с помощью GetBody методов возвращаемого сообщения. Возвращаемый объект инкапсулирует все дочерние элементы в элементе Body . Текст сообщения можно записать с помощью WriteBody или WriteMessage. После записи его не удается прочитать.
Закрытие сообщения закрывает базовое средство чтения конвертов.
Применяется к
CreateMessage(MessageVersion, String, XmlReader)
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
Создает сообщение с помощью указанного средства чтения, действия и версии.
public:
static System::ServiceModel::Channels::Message ^ CreateMessage(System::ServiceModel::Channels::MessageVersion ^ version, System::String ^ action, System::Xml::XmlReader ^ body);
public static System.ServiceModel.Channels.Message CreateMessage(System.ServiceModel.Channels.MessageVersion version, string action, System.Xml.XmlReader body);
static member CreateMessage : System.ServiceModel.Channels.MessageVersion * string * System.Xml.XmlReader -> System.ServiceModel.Channels.Message
Public Shared Function CreateMessage (version As MessageVersion, action As String, body As XmlReader) As Message
Параметры
- version
- MessageVersion
MessageVersion Объект, указывающий версию SOAP, используемую для сообщения.
- action
- String
Описание процесса обработки сообщения.
Возвращаемое значение
Созданный Message объект для сообщения.
Исключения
version, action или body есть null.
Комментарии
Этот статический метод используется для создания новой копии сообщения, готовой к отправке.
Применяется к
CreateMessage(XmlReader, Int32, MessageVersion)
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
Создает сообщение с помощью указанного средства чтения, действия и версии.
public:
static System::ServiceModel::Channels::Message ^ CreateMessage(System::Xml::XmlReader ^ envelopeReader, int maxSizeOfHeaders, System::ServiceModel::Channels::MessageVersion ^ version);
public static System.ServiceModel.Channels.Message CreateMessage(System.Xml.XmlReader envelopeReader, int maxSizeOfHeaders, System.ServiceModel.Channels.MessageVersion version);
static member CreateMessage : System.Xml.XmlReader * int * System.ServiceModel.Channels.MessageVersion -> System.ServiceModel.Channels.Message
Public Shared Function CreateMessage (envelopeReader As XmlReader, maxSizeOfHeaders As Integer, version As MessageVersion) As Message
Параметры
- maxSizeOfHeaders
- Int32
Максимальный размер заголовка в байтах.
- version
- MessageVersion
MessageVersion Объект, указывающий версию SOAP, используемую для сообщения.
Возвращаемое значение
Созданный Message объект для сообщения.
Исключения
envelopeReader или version есть null.
Комментарии
Message берет на себя ответственность envelopeReader.
Этот метод считывает конверт, буферизирует все заголовки в коллекцию заголовков и считывает его, но не включает начальный Body тег и возвращает сообщение. Если вызов метода вызывает исключение, он закрывает средство чтения.
Затем текст возвращаемого сообщения может быть прочитан или записан.
Текст сообщения можно считывать с помощью GetBody методов возвращаемого сообщения. Возвращаемый объект инкапсулирует все дочерние элементы в элементе Body . Текст сообщения можно записать с помощью WriteBody или WriteMessage. После записи его не удается прочитать.
Закрытие сообщения закрывает базовое средство чтения конвертов.
Применяется к
CreateMessage(MessageVersion, String, BodyWriter)
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
Создает сообщение с текстом, состоящим из массива байтов.
public:
static System::ServiceModel::Channels::Message ^ CreateMessage(System::ServiceModel::Channels::MessageVersion ^ version, System::String ^ action, System::ServiceModel::Channels::BodyWriter ^ body);
public static System.ServiceModel.Channels.Message CreateMessage(System.ServiceModel.Channels.MessageVersion version, string action, System.ServiceModel.Channels.BodyWriter body);
static member CreateMessage : System.ServiceModel.Channels.MessageVersion * string * System.ServiceModel.Channels.BodyWriter -> System.ServiceModel.Channels.Message
Public Shared Function CreateMessage (version As MessageVersion, action As String, body As BodyWriter) As Message
Параметры
- version
- MessageVersion
MessageVersion Объект, указывающий версию SOAP, используемую для сообщения.
- action
- String
Описание процесса обработки сообщения.
- body
- BodyWriter
BodyWriter Байт типа.
Возвращаемое значение
Созданный Message объект для сообщения.
Исключения
Version, action или body есть null.
Комментарии
Пустое сообщение полезно для конечной точки для отправки оповещения в другую конечную точку без фактического содержимого.
Применяется к
CreateMessage(MessageVersion, String, Object)
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
Создает сообщение с указанной версией, действием и текстом.
public:
static System::ServiceModel::Channels::Message ^ CreateMessage(System::ServiceModel::Channels::MessageVersion ^ version, System::String ^ action, System::Object ^ body);
public static System.ServiceModel.Channels.Message CreateMessage(System.ServiceModel.Channels.MessageVersion version, string action, object body);
static member CreateMessage : System.ServiceModel.Channels.MessageVersion * string * obj -> System.ServiceModel.Channels.Message
Public Shared Function CreateMessage (version As MessageVersion, action As String, body As Object) As Message
Параметры
- version
- MessageVersion
MessageVersion Объект, указывающий версию SOAP, используемую для сообщения.
- action
- String
Описание процесса обработки сообщения.
- body
- Object
Текст сообщения.
Возвращаемое значение
Созданный Message объект для сообщения.
Исключения
version, action или body есть null.
Комментарии
Этот статический метод используется для создания новой копии сообщения, готовой к отправке.
При работе с сообщениями JSON используется CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) метод, CreateMessage(MessageVersion, String, Object) метод не работает с сообщениями JSON.
Применяется к
CreateMessage(MessageVersion, MessageFault, String)
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
Создает сообщение, содержащее ошибку SOAP, версию и действие.
public:
static System::ServiceModel::Channels::Message ^ CreateMessage(System::ServiceModel::Channels::MessageVersion ^ version, System::ServiceModel::Channels::MessageFault ^ fault, System::String ^ action);
public static System.ServiceModel.Channels.Message CreateMessage(System.ServiceModel.Channels.MessageVersion version, System.ServiceModel.Channels.MessageFault fault, string action);
static member CreateMessage : System.ServiceModel.Channels.MessageVersion * System.ServiceModel.Channels.MessageFault * string -> System.ServiceModel.Channels.Message
Public Shared Function CreateMessage (version As MessageVersion, fault As MessageFault, action As String) As Message
Параметры
- version
- MessageVersion
MessageVersion Объект, указывающий версию SOAP, используемую для сообщения.
- fault
- MessageFault
MessageFault Объект, представляющий ошибку SOAP.
- action
- String
Описание процесса обработки сообщения.
Возвращаемое значение
Созданный Message объект для сообщения.
Исключения
Version, fault или action есть null.
Комментарии
Этот статический метод используется для создания новой копии сообщения, готовой к отправке.
Применяется к
CreateMessage(MessageVersion, String)
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
Создает сообщение, содержащее версию и действие.
public:
static System::ServiceModel::Channels::Message ^ CreateMessage(System::ServiceModel::Channels::MessageVersion ^ version, System::String ^ action);
public static System.ServiceModel.Channels.Message CreateMessage(System.ServiceModel.Channels.MessageVersion version, string action);
static member CreateMessage : System.ServiceModel.Channels.MessageVersion * string -> System.ServiceModel.Channels.Message
Public Shared Function CreateMessage (version As MessageVersion, action As String) As Message
Параметры
- version
- MessageVersion
MessageVersion Объект, указывающий версию SOAP, используемую для сообщения.
- action
- String
Описание процесса обработки сообщения.
Возвращаемое значение
Созданный Message объект для сообщения.
Исключения
version или action есть null.
Комментарии
Этот статический метод используется для создания новой копии сообщения, готовой к отправке.
Применяется к
CreateMessage(MessageVersion, String, XmlDictionaryReader)
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
- Исходный код:
- Message.cs
Создает сообщение с указанной версией, действием и текстом.
public:
static System::ServiceModel::Channels::Message ^ CreateMessage(System::ServiceModel::Channels::MessageVersion ^ version, System::String ^ action, System::Xml::XmlDictionaryReader ^ body);
public static System.ServiceModel.Channels.Message CreateMessage(System.ServiceModel.Channels.MessageVersion version, string action, System.Xml.XmlDictionaryReader body);
static member CreateMessage : System.ServiceModel.Channels.MessageVersion * string * System.Xml.XmlDictionaryReader -> System.ServiceModel.Channels.Message
Public Shared Function CreateMessage (version As MessageVersion, action As String, body As XmlDictionaryReader) As Message
Параметры
- version
- MessageVersion
MessageVersion Объект, указывающий версию SOAP, используемую для сообщения.
- action
- String
Описание процесса обработки сообщения.
- body
- XmlDictionaryReader
Текст сообщения.
Возвращаемое значение
Созданный Message объект для сообщения.
Исключения
version, action или body есть null.
Комментарии
Этот статический метод используется для создания новой копии сообщения, готовой к отправке.