Поделиться через


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 или faultCodenull.

Комментарии

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

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

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 или faultCodenull.

Комментарии

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

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

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

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

body
XmlReader

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

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

Объект 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.

Комментарии

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

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