Message.CreateMessage Método

Definición

Crea un mensaje.

Sobrecargas

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

Crea un mensaje que contiene un error de SOAP, un motivo y el detalle del error, una versión y una acción.

CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)

Crea un mensaje con la versión, acción, cuerpo del mensaje y serializador especificados.

CreateMessage(MessageVersion, FaultCode, String, String)

Crea un mensaje que contiene un error soap, el motivo del error, una versión y una acción.

CreateMessage(XmlDictionaryReader, Int32, MessageVersion)

Crea un mensaje mediante el lector, la acción y la versión especificados.

CreateMessage(MessageVersion, String, XmlReader)

Crea un mensaje mediante el lector, la acción y la versión especificados.

CreateMessage(XmlReader, Int32, MessageVersion)

Crea un mensaje mediante el lector, la acción y la versión especificados.

CreateMessage(MessageVersion, String, BodyWriter)

Crea un mensaje con un cuerpo que consta de una matriz de bytes.

CreateMessage(MessageVersion, String, Object)

Crea un mensaje con la versión, la acción y el cuerpo especificados.

CreateMessage(MessageVersion, MessageFault, String)

Crea un mensaje que contiene un error de SOAP, una versión y una acción.

CreateMessage(MessageVersion, String)

Crea un mensaje que contiene una versión y una acción.

CreateMessage(MessageVersion, String, XmlDictionaryReader)

Crea un mensaje con la versión, la acción y el cuerpo especificados.

Ejemplos

En el ejemplo de código siguiente se muestra un cliente que usa el generador de canales para enviar un mensaje y leer la respuesta.

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

Comentarios

Este método se usa para crear una nueva copia de un mensaje listo para el envío.

Cuando se trabaja con mensajes JSON, el CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)CreateMessage(MessageVersion, String, Object) método no funciona con mensajes JSON.

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

Source:
Message.cs
Source:
Message.cs
Source:
Message.cs

Crea un mensaje que contiene un error de SOAP, un motivo y el detalle del error, una versión y una acción.

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

Objeto MessageVersion que especifica la versión SOAP que se va a usar para el mensaje.

faultCode
FaultCode

Objeto MessageFault que representa un error soap.

reason
String

Motivo del error de SOAP.

detail
Object

Detalles del error soap.

action
String

Descripción de cómo se debe procesar el mensaje.

Devoluciones

Objeto Message para el mensaje creado.

Excepciones

version, fault, actiondetail o faultCode es null.

Comentarios

Este método estático se usa para crear una nueva copia del mensaje lista para el envío.

Se aplica a

CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)

Source:
Message.cs
Source:
Message.cs
Source:
Message.cs

Crea un mensaje con la versión, acción, cuerpo del mensaje y 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

Objeto MessageVersion que especifica la versión SOAP que se va a usar para el mensaje.

action
String

Descripción de cómo se debe procesar el mensaje.

body
Object

El cuerpo del mensaje.

serializer
XmlObjectSerializer

Objeto XmlObjectSerializer utilizado para serializar el mensaje.

Devoluciones

Objeto Message para el mensaje creado.

Excepciones

version, fault o action es null.

Comentarios

Este método estático se usa para crear una nueva copia del mensaje lista para el envío.

Cuando se trabaja con mensajes JSON, el CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)CreateMessage(MessageVersion, String, Object) método no funciona con mensajes JSON.

Se aplica a

CreateMessage(MessageVersion, FaultCode, String, String)

Source:
Message.cs
Source:
Message.cs
Source:
Message.cs

Crea un mensaje que contiene un error soap, el motivo del error, una versión y una acción.

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

Objeto MessageVersion que especifica la versión SOAP que se va a usar para el mensaje.

faultCode
FaultCode

Objeto MessageFault que representa un error soap.

reason
String

Motivo del error de SOAP.

action
String

Descripción de cómo se debe procesar el mensaje.

Devoluciones

Objeto Message para el mensaje creado.

Excepciones

version fault, actiono faultCode es null.

Comentarios

Este método estático se usa para crear una nueva copia del mensaje lista para el envío.

Se aplica a

CreateMessage(XmlDictionaryReader, Int32, MessageVersion)

Source:
Message.cs
Source:
Message.cs
Source:
Message.cs

Crea un mensaje mediante el lector, la acción y la versión 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

Objeto XmlDictionaryReader que se va a usar para leer el mensaje SOAP.

maxSizeOfHeaders
Int32

Tamaño máximo en bytes de un encabezado.

version
MessageVersion

Valor válido MessageVersion que especifica la versión SOAP que se va a usar para el mensaje.

Devoluciones

Objeto Message para el mensaje creado.

Excepciones

envelopeReader o version es null.

Comentarios

Message toma posesión de envelopeReader.

Este método lee el sobre, almacena en búfer todos los encabezados en la colección de encabezados y lee hasta pero no incluye la Body etiqueta de inicio y devuelve el mensaje. Si la llamada al método produce una excepción, cierra el lector.

El cuerpo del mensaje devuelto se puede leer o escribir.

El cuerpo del mensaje se puede leer mediante los GetBody métodos del mensaje devuelto. El objeto devuelto encapsula todos los elementos secundarios del Body elemento . El cuerpo del mensaje se puede escribir mediante WriteBody o WriteMessage. Una vez escrito, no se puede leer.

Al cerrar el mensaje, se cierra el lector de sobres subyacente.

Se aplica a

CreateMessage(MessageVersion, String, XmlReader)

Source:
Message.cs
Source:
Message.cs
Source:
Message.cs

Crea un mensaje mediante el lector, la acción y la versión 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

Objeto MessageVersion que especifica la versión SOAP que se va a usar para el mensaje.

action
String

Descripción de cómo se debe procesar el mensaje.

body
XmlReader

Objeto XmlReader que se va a usar para leer el mensaje SOAP.

Devoluciones

Objeto Message para el mensaje creado.

Excepciones

version, action o body es null.

Comentarios

Este método estático se usa para crear una nueva copia del mensaje lista para el envío.

Se aplica a

CreateMessage(XmlReader, Int32, MessageVersion)

Source:
Message.cs
Source:
Message.cs
Source:
Message.cs

Crea un mensaje mediante el lector, la acción y la versión 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

Objeto XmlReader que se va a usar para leer el mensaje SOAP.

maxSizeOfHeaders
Int32

Tamaño máximo en bytes de un encabezado.

version
MessageVersion

Objeto MessageVersion que especifica la versión SOAP que se va a usar para el mensaje.

Devoluciones

Objeto Message para el mensaje creado.

Excepciones

envelopeReader o version es null.

Comentarios

Message toma posesión de envelopeReader.

Este método lee el sobre, almacena en búfer todos los encabezados en la colección de encabezados y lee hasta pero no incluye la Body etiqueta de inicio y devuelve el mensaje. Si la llamada al método produce una excepción, cierra el lector.

El cuerpo del mensaje devuelto se puede leer o escribir.

El cuerpo del mensaje se puede leer mediante los GetBody métodos del mensaje devuelto. El objeto devuelto encapsula todos los elementos secundarios del Body elemento . El cuerpo del mensaje se puede escribir mediante WriteBody o WriteMessage. Una vez escrito, no se puede leer.

Al cerrar el mensaje, se cierra el lector de sobres subyacente.

Se aplica a

CreateMessage(MessageVersion, String, BodyWriter)

Source:
Message.cs
Source:
Message.cs
Source:
Message.cs

Crea un mensaje con un cuerpo que consta de una 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

Objeto MessageVersion que especifica la versión SOAP que se va a usar para el mensaje.

action
String

Descripción de cómo se debe procesar el mensaje.

body
BodyWriter

BodyWriter de tipo byte.

Devoluciones

Objeto Message para el mensaje creado.

Excepciones

Version, action o body es null.

Comentarios

Un mensaje vacío es útil para que un punto de conexión envíe una alerta a otro punto de conexión sin contenido real.

Se aplica a

CreateMessage(MessageVersion, String, Object)

Source:
Message.cs
Source:
Message.cs
Source:
Message.cs

Crea un mensaje con la versión, la acción y el cuerpo 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

Objeto MessageVersion que especifica la versión SOAP que se va a usar para el mensaje.

action
String

Descripción de cómo se debe procesar el mensaje.

body
Object

El cuerpo del mensaje.

Devoluciones

Objeto Message para el mensaje creado.

Excepciones

version, action o body es null.

Comentarios

Este método estático se usa para crear una nueva copia del mensaje lista para el envío.

Cuando se trabaja con mensajes JSON, el CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)CreateMessage(MessageVersion, String, Object) método no funciona con mensajes JSON.

Se aplica a

CreateMessage(MessageVersion, MessageFault, String)

Source:
Message.cs
Source:
Message.cs
Source:
Message.cs

Crea un mensaje que contiene un error de SOAP, una versión y una acción.

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

Objeto MessageVersion que especifica la versión SOAP que se va a usar para el mensaje.

fault
MessageFault

Objeto MessageFault que representa un error soap.

action
String

Descripción de cómo se debe procesar el mensaje.

Devoluciones

Objeto Message para el mensaje creado.

Excepciones

Version, fault o action es null.

Comentarios

Este método estático se usa para crear una nueva copia del mensaje lista para el envío.

Se aplica a

CreateMessage(MessageVersion, String)

Source:
Message.cs
Source:
Message.cs
Source:
Message.cs

Crea un mensaje que contiene una versión y una acción.

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

Objeto MessageVersion que especifica la versión SOAP que se va a usar para el mensaje.

action
String

Descripción de cómo se debe procesar el mensaje.

Devoluciones

Objeto Message para el mensaje creado.

Excepciones

version o action es null.

Comentarios

Este método estático se usa para crear una nueva copia del mensaje lista para el envío.

Se aplica a

CreateMessage(MessageVersion, String, XmlDictionaryReader)

Source:
Message.cs
Source:
Message.cs
Source:
Message.cs

Crea un mensaje con la versión, la acción y el cuerpo 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

Objeto MessageVersion que especifica la versión SOAP que se va a usar para el mensaje.

action
String

Descripción de cómo se debe procesar el mensaje.

body
XmlDictionaryReader

El cuerpo del mensaje.

Devoluciones

Objeto Message para el mensaje creado.

Excepciones

version, action o body es null.

Comentarios

Este método estático se usa para crear una nueva copia del mensaje lista para el envío.

Se aplica a