Message.CreateMessage Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
создает сообщение;
Перегрузки
CreateMessage(MessageVersion, FaultCode, String, Object, String) |
Создает сообщение, в котором содержится ошибка SOAP, причина ошибки, подробные сведения об ошибке, версия и действие. |
CreateMessage(MessageVersion, FaultCode, String, String) |
Создает сообщение, в котором содержится ошибка SOAP, причина ошибки, версия и действие. |
CreateMessage(XmlReader, Int32, MessageVersion) |
Создает сообщение с использованием указанных средства чтения, действия и версии. |
CreateMessage(XmlDictionaryReader, Int32, MessageVersion) |
Создает сообщение с использованием указанных средства чтения, действия и версии. |
CreateMessage(MessageVersion, String, XmlReader) |
Создает сообщение с использованием указанных средства чтения, действия и версии. |
CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) |
Создает сообщение с использованием указанных версии, действия, текста сообщения и сериализатора. |
CreateMessage(MessageVersion, String, BodyWriter) |
Создает сообщение с текстом, содержащим массив байтов. |
CreateMessage(MessageVersion, String, Object) |
Создает сообщение с указанными версией, действием и текстом. |
CreateMessage(MessageVersion, MessageFault, String) |
Создает сообщение, в котором содержится ошибка SOAP, версия и действие. |
CreateMessage(MessageVersion, String, XmlDictionaryReader) |
Создает сообщение с указанными версией, действием и текстом. |
CreateMessage(MessageVersion, String) |
Создает сообщение, в котором содержится версия и действие. |
Примеры
В следующем примере кода показан клиент, использующий фабрику каналов для отправки сообщения и чтения ответа.
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
, fault
, action
, detail
или faultCode
— null
.
Комментарии
Этот статический метод служит для создания копии готового к отправке сообщения.
Применяется к
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
, fault
, action
или faultCode
— 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
Параметры
- envelopeReader
- XmlReader
Объект XmlReader, который требуется использовать для чтения сообщения SOAP.
- maxSizeOfHeaders
- Int32
Максимальный размер заголовка в байтах.
- version
- MessageVersion
Объект MessageVersion, задающий версию SOAP, которая должна использоваться для сообщения.
Возвращаемое значение
Объект Message для созданного сообщения.
Исключения
Параметр envelopeReader
или version
имеет значение null
.
Комментарии
Message принимает права собственности на envelopeReader
.
Этот метод читает конверт, помещает все заголовки в коллекцию заголовков. Чтение продолжается до начального тега Body
(не включая его), после чего сообщение возвращается. Если при вызове метода создается исключение, средство чтения закрывается.
Текст возвращаемого сообщения доступен для чтения или для записи.
Текст сообщения можно прочитать с помощью методов GetBody возвращаемого сообщения. Возвращенный объект инкапсулирует все дочерние элементы в элементе Body
. Тело сообщения может быть записано с помощью метода WriteBody или WriteMessage. После записи тело сообщения не может быть прочитано.
Закрытие сообщения приводит к закрытию базового средства чтения конверта.
Применяется к
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(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, 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, 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
.
Комментарии
Этот статический метод служит для создания копии готового к отправке сообщения.
Применяется к
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
.
Комментарии
Этот статический метод служит для создания копии готового к отправке сообщения.