Partilhar via


Message.CreateMessage Método

Definição

Cria uma mensagem.

Sobrecargas

CreateMessage(MessageVersion, FaultCode, String, Object, String)

Cria uma mensagem que contém uma falha de SOAP, um motivo e os detalhes da falha, uma versão e uma ação.

CreateMessage(MessageVersion, FaultCode, String, String)

Cria uma mensagem que contém uma falha de SOAP, o motivo da falha, uma versão e uma ação.

CreateMessage(XmlReader, Int32, MessageVersion)

Cria uma mensagem usando o leitor, a ação e a versão especificados.

CreateMessage(XmlDictionaryReader, Int32, MessageVersion)

Cria uma mensagem usando o leitor, a ação e a versão especificados.

CreateMessage(MessageVersion, String, XmlReader)

Cria uma mensagem usando o leitor, a ação e a versão especificados.

CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)

Cria uma mensagem usando a versão, a ação, o corpo da mensagem e o serializador especificados.

CreateMessage(MessageVersion, String, BodyWriter)

Cria uma mensagem com um corpo que consiste em uma matriz de bytes.

CreateMessage(MessageVersion, String, Object)

Cria uma mensagem com a versão, a ação e o corpo especificados.

CreateMessage(MessageVersion, MessageFault, String)

Cria uma mensagem que contém uma falha de SOAP, uma versão e uma ação.

CreateMessage(MessageVersion, String, XmlDictionaryReader)

Cria uma mensagem com a versão, a ação e o corpo especificados.

CreateMessage(MessageVersion, String)

Cria uma mensagem que contém uma versão e uma ação.

Exemplos

O exemplo de código a seguir mostra um cliente que usa a fábrica de canais para enviar uma mensagem e ler a resposta.

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

Comentários

Esse método é usado para criar uma nova cópia de uma mensagem pronta para envio.

Ao trabalhar com mensagens JSON, use o CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) método , o CreateMessage(MessageVersion, String, Object) método não funciona com mensagens JSON.

CreateMessage(MessageVersion, FaultCode, String, Object, String)

Origem:
Message.cs
Origem:
Message.cs
Origem:
Message.cs

Cria uma mensagem que contém uma falha de SOAP, um motivo e os detalhes da falha, uma versão e uma ação.

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

Parâmetros

version
MessageVersion

Um objeto MessageVersion que especifica a versão do SOAP a ser usada para a mensagem.

faultCode
FaultCode

Um objeto MessageFault que representa uma falha de SOAP.

reason
String

O motivo da falha de SOAP.

detail
Object

Os detalhes da falha de SOAP.

action
String

Uma descrição de como a mensagem deve ser processada.

Retornos

Um objeto Message para a mensagem criada.

Exceções

version, fault, action, detail ou faultCode é null.

Comentários

Esse método estático é usado para criar uma nova cópia da mensagem pronta para envio.

Aplica-se a

CreateMessage(MessageVersion, FaultCode, String, String)

Origem:
Message.cs
Origem:
Message.cs
Origem:
Message.cs

Cria uma mensagem que contém uma falha de SOAP, o motivo da falha, uma versão e uma ação.

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

Parâmetros

version
MessageVersion

Um objeto MessageVersion que especifica a versão do SOAP a ser usada para a mensagem.

faultCode
FaultCode

Um objeto MessageFault que representa uma falha de SOAP.

reason
String

O motivo da falha de SOAP.

action
String

Uma descrição de como a mensagem deve ser processada.

Retornos

Um objeto Message para a mensagem criada.

Exceções

version, fault, action ou faultCode é null.

Comentários

Esse método estático é usado para criar uma nova cópia da mensagem pronta para envio.

Aplica-se a

CreateMessage(XmlReader, Int32, MessageVersion)

Origem:
Message.cs
Origem:
Message.cs
Origem:
Message.cs

Cria uma mensagem usando o leitor, a ação e a versão especificados.

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

Parâmetros

envelopeReader
XmlReader

O objeto XmlReader a ser usado para ler a mensagem SOAP.

maxSizeOfHeaders
Int32

O tamanho máximo de um cabeçalho em bytes.

version
MessageVersion

Um objeto MessageVersion que especifica a versão do SOAP a ser usada para a mensagem.

Retornos

Um objeto Message para a mensagem criada.

Exceções

envelopeReader ou version é null.

Comentários

Message assume a propriedade de envelopeReader.

Esse método lê o envelope, armazena todos os cabeçalhos na coleção de cabeçalhos, lê até, mas não inclui a Body marca inicial, e retorna a mensagem. Se a chamada de método gerar uma exceção, ela fechará o leitor.

O corpo da mensagem retornada pode ser lido ou gravado.

O corpo da mensagem pode ser lido usando os GetBody métodos na mensagem retornada. O objeto retornado encapsula todos os elementos filho dentro do Body elemento . O corpo da mensagem pode ser gravado usando WriteBody ou WriteMessage. Uma vez gravado, ele não pode ser lido.

Fechar a mensagem fecha o leitor de envelope subjacente.

Aplica-se a

CreateMessage(XmlDictionaryReader, Int32, MessageVersion)

Origem:
Message.cs
Origem:
Message.cs
Origem:
Message.cs

Cria uma mensagem usando o leitor, a ação e a versão especificados.

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

Parâmetros

envelopeReader
XmlDictionaryReader

O objeto XmlDictionaryReader a ser usado para ler a mensagem SOAP.

maxSizeOfHeaders
Int32

O tamanho máximo de um cabeçalho em bytes.

version
MessageVersion

Um valor MessageVersion válido que especifica a versão do SOAP a ser usada para a mensagem.

Retornos

Um objeto Message para a mensagem criada.

Exceções

envelopeReader ou version é null.

Comentários

Message assume a propriedade de envelopeReader.

Esse método lê o envelope, armazena todos os cabeçalhos na coleção de cabeçalhos, lê até, mas não inclui a Body marca inicial, e retorna a mensagem. Se a chamada de método gerar uma exceção, ela fechará o leitor.

O corpo da mensagem retornada pode ser lido ou gravado.

O corpo da mensagem pode ser lido usando os GetBody métodos na mensagem retornada. O objeto retornado encapsula todos os elementos filho dentro do Body elemento . O corpo da mensagem pode ser gravado usando WriteBody ou WriteMessage. Uma vez gravado, ele não pode ser lido.

Fechar a mensagem fecha o leitor de envelope subjacente.

Aplica-se a

CreateMessage(MessageVersion, String, XmlReader)

Origem:
Message.cs
Origem:
Message.cs
Origem:
Message.cs

Cria uma mensagem usando o leitor, a ação e a versão especificados.

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

Parâmetros

version
MessageVersion

Um objeto MessageVersion que especifica a versão do SOAP a ser usada para a mensagem.

action
String

Uma descrição de como a mensagem deve ser processada.

body
XmlReader

O objeto XmlReader a ser usado para ler a mensagem SOAP.

Retornos

Um objeto Message para a mensagem criada.

Exceções

version, action ou body é null.

Comentários

Esse método estático é usado para criar uma nova cópia da mensagem pronta para envio.

Aplica-se a

CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)

Origem:
Message.cs
Origem:
Message.cs
Origem:
Message.cs

Cria uma mensagem usando a versão, a ação, o corpo da mensagem e o serializador especificados.

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

Parâmetros

version
MessageVersion

Um objeto MessageVersion que especifica a versão do SOAP a ser usada para a mensagem.

action
String

Uma descrição de como a mensagem deve ser processada.

body
Object

O corpo da mensagem.

serializer
XmlObjectSerializer

Um objeto XmlObjectSerializer usado para serializar a mensagem.

Retornos

Um objeto Message para a mensagem criada.

Exceções

version, fault ou action é null.

Comentários

Esse método estático é usado para criar uma nova cópia da mensagem pronta para envio.

Ao trabalhar com mensagens JSON, use o CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) método , o CreateMessage(MessageVersion, String, Object) método não funciona com mensagens JSON.

Aplica-se a

CreateMessage(MessageVersion, String, BodyWriter)

Origem:
Message.cs
Origem:
Message.cs
Origem:
Message.cs

Cria uma mensagem com um corpo que consiste em uma matriz de bytes.

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

Parâmetros

version
MessageVersion

Um objeto MessageVersion que especifica a versão do SOAP a ser usada para a mensagem.

action
String

Uma descrição de como a mensagem deve ser processada.

body
BodyWriter

Um BodyWriter de byte de tipo.

Retornos

Um objeto Message para a mensagem criada.

Exceções

Version, action ou body é null.

Comentários

Uma mensagem vazia é útil para um ponto de extremidade enviar um alerta para outro ponto de extremidade sem nenhum conteúdo real.

Aplica-se a

CreateMessage(MessageVersion, String, Object)

Origem:
Message.cs
Origem:
Message.cs
Origem:
Message.cs

Cria uma mensagem com a versão, a ação e o corpo especificados.

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

Parâmetros

version
MessageVersion

Um objeto MessageVersion que especifica a versão do SOAP a ser usada para a mensagem.

action
String

Uma descrição de como a mensagem deve ser processada.

body
Object

O corpo da mensagem.

Retornos

Um objeto Message para a mensagem criada.

Exceções

version, action ou body é null.

Comentários

Esse método estático é usado para criar uma nova cópia da mensagem pronta para envio.

Ao trabalhar com mensagens JSON, use o CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) método , o CreateMessage(MessageVersion, String, Object) método não funciona com mensagens JSON.

Aplica-se a

CreateMessage(MessageVersion, MessageFault, String)

Origem:
Message.cs
Origem:
Message.cs
Origem:
Message.cs

Cria uma mensagem que contém uma falha de SOAP, uma versão e uma ação.

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

Parâmetros

version
MessageVersion

Um objeto MessageVersion que especifica a versão do SOAP a ser usada para a mensagem.

fault
MessageFault

Um objeto MessageFault que representa uma falha de SOAP.

action
String

Uma descrição de como a mensagem deve ser processada.

Retornos

Um objeto Message para a mensagem criada.

Exceções

Version, fault ou action é null.

Comentários

Esse método estático é usado para criar uma nova cópia da mensagem pronta para envio.

Aplica-se a

CreateMessage(MessageVersion, String, XmlDictionaryReader)

Origem:
Message.cs
Origem:
Message.cs
Origem:
Message.cs

Cria uma mensagem com a versão, a ação e o corpo especificados.

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

Parâmetros

version
MessageVersion

Um objeto MessageVersion que especifica a versão do SOAP a ser usada para a mensagem.

action
String

Uma descrição de como a mensagem deve ser processada.

body
XmlDictionaryReader

O corpo da mensagem.

Retornos

Um objeto Message para a mensagem criada.

Exceções

version, action ou body é null.

Comentários

Esse método estático é usado para criar uma nova cópia da mensagem pronta para envio.

Aplica-se a

CreateMessage(MessageVersion, String)

Origem:
Message.cs
Origem:
Message.cs
Origem:
Message.cs

Cria uma mensagem que contém uma versão e uma ação.

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

Parâmetros

version
MessageVersion

Um objeto MessageVersion que especifica a versão do SOAP a ser usada para a mensagem.

action
String

Uma descrição de como a mensagem deve ser processada.

Retornos

Um objeto Message para a mensagem criada.

Exceções

version ou action é null.

Comentários

Esse método estático é usado para criar uma nova cópia da mensagem pronta para envio.

Aplica-se a