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

Описание процесса обработки сообщения.

body
XmlReader

Объект XmlReader , используемый для чтения сообщения SOAP.

Возвращаемое значение

Созданный 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

Параметры

envelopeReader
XmlReader

Объект XmlReader , используемый для чтения сообщения SOAP.

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.

Комментарии

Этот статический метод используется для создания новой копии сообщения, готовой к отправке.

Применяется к