Message.CreateMessage Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un mensaje.
Sobrecargas
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, FaultCode, String, String) |
Crea un mensaje que contiene un error de SOAP, el motivo del error, una versión y una acción. |
CreateMessage(XmlReader, Int32, MessageVersion) |
Crea un mensaje mediante el lector especificado, acción y versión. |
CreateMessage(XmlDictionaryReader, Int32, MessageVersion) |
Crea un mensaje mediante el lector especificado, acción y versión. |
CreateMessage(MessageVersion, String, XmlReader) |
Crea un mensaje mediante el lector especificado, acción y versión. |
CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) |
Crea un mensaje mediante la versión especificada, acción, cuerpo del mensaje y serializador. |
CreateMessage(MessageVersion, String, BodyWriter) |
Crea un mensaje con un cuerpo que está compuesto de una matriz de bytes. |
CreateMessage(MessageVersion, String, Object) |
Crea un mensaje con la versión especificada, acción y cuerpo. |
CreateMessage(MessageVersion, MessageFault, String) |
Crea un mensaje que contiene un error SOAP, una versión y una acción. |
CreateMessage(MessageVersion, String, XmlDictionaryReader) |
Crea un mensaje con la versión especificada, acción y cuerpo. |
CreateMessage(MessageVersion, String) |
Crea un mensaje que contiene una versión y una acción. |
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 enviar.
Cuando trabaje con mensajes JSON, use el método CreateMessage(MessageVersion, String, Object, XmlObjectSerializer); el método CreateMessage(MessageVersion, String, Object) no funciona con los 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 de SOAP que se usará para el mensaje.
- faultCode
- FaultCode
Objeto MessageFault que representa un error de SOAP.
- reason
- String
El motivo del error de SOAP.
- detail
- Object
Los detalles 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
, action
, detail
o faultCode
es null
.
Comentarios
Este método estático se usa para crear una nueva copia del mensaje listo para enviar.
Se aplica a
CreateMessage(MessageVersion, FaultCode, String, String)
- Source:
- Message.cs
- Source:
- Message.cs
- Source:
- Message.cs
Crea un mensaje que contiene un error de 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 de SOAP que se usará para el mensaje.
- faultCode
- FaultCode
Objeto MessageFault que representa un error de SOAP.
- reason
- String
El 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
, action
o faultCode
es null
.
Comentarios
Este método estático se usa para crear una nueva copia del mensaje listo para enviar.
Se aplica a
CreateMessage(XmlReader, Int32, MessageVersion)
- Source:
- Message.cs
- Source:
- Message.cs
- Source:
- Message.cs
Crea un mensaje mediante el lector especificado, acción y versión.
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
- maxSizeOfHeaders
- Int32
El tamaño máximo en bytes de un encabezado.
- version
- MessageVersion
Objeto MessageVersion que especifica la versión de SOAP que se 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 la envoltura, almacena en búfer todos los encabezados en la colección de encabezados y lee hasta la etiqueta inicial Body
pero sin incluirla, y devuelve el mensaje. Si la llamada al método produce una excepción, cierra el lector.
A continuación, se puede leer o escribir el cuerpo del mensaje devuelto.
El cuerpo del mensaje se puede leer utilizando los métodos GetBody en el mensaje devuelto. El objeto devuelto encapsula todos los elementos secundarios dentro del elemento Body
. El cuerpo del mensaje se puede escribir utilizando WriteBody o WriteMessage. Una vez escrito, no se puede leer.
Al cerrar el mensaje, se cierra el lector de la envoltura subyacente.
Se aplica a
CreateMessage(XmlDictionaryReader, Int32, MessageVersion)
- Source:
- Message.cs
- Source:
- Message.cs
- Source:
- Message.cs
Crea un mensaje mediante el lector especificado, acción y versión.
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
El objeto XmlDictionaryReader que se va a utilizar para leer el mensaje SOAP.
- maxSizeOfHeaders
- Int32
El tamaño máximo en bytes de un encabezado.
- version
- MessageVersion
Un valor MessageVersion válido 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 la envoltura, almacena en búfer todos los encabezados en la colección de encabezados y lee hasta la etiqueta inicial Body
pero sin incluirla, y devuelve el mensaje. Si la llamada al método produce una excepción, cierra el lector.
A continuación, se puede leer o escribir el cuerpo del mensaje devuelto.
El cuerpo del mensaje se puede leer utilizando los métodos GetBody en el mensaje devuelto. El objeto devuelto encapsula todos los elementos secundarios dentro del elemento Body
. El cuerpo del mensaje se puede escribir utilizando WriteBody o WriteMessage. Una vez escrito, no se puede leer.
Al cerrar el mensaje, se cierra el lector de la envoltura subyacente.
Se aplica a
CreateMessage(MessageVersion, String, XmlReader)
- Source:
- Message.cs
- Source:
- Message.cs
- Source:
- Message.cs
Crea un mensaje mediante el lector especificado, acción y versión.
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 de SOAP que se 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
, action
o body
es null
.
Comentarios
Este método estático se usa para crear una nueva copia del mensaje listo para enviar.
Se aplica a
CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)
- Source:
- Message.cs
- Source:
- Message.cs
- Source:
- Message.cs
Crea un mensaje mediante la versión especificada, acción, cuerpo del mensaje y serializador.
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 de SOAP que se usará para el mensaje.
- action
- String
Descripción de cómo se debe procesar el mensaje.
- body
- Object
el cuerpo del mensaje.
- serializer
- XmlObjectSerializer
Un objeto de 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 listo para enviar.
Cuando trabaje con mensajes JSON, use el método CreateMessage(MessageVersion, String, Object, XmlObjectSerializer); el método CreateMessage(MessageVersion, String, Object) no funciona con los mensajes JSON.
Se aplica a
CreateMessage(MessageVersion, String, BodyWriter)
- Source:
- Message.cs
- Source:
- Message.cs
- Source:
- Message.cs
Crea un mensaje con un cuerpo que está compuesto 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 de SOAP que se 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 ningún 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 especificada, acción y cuerpo.
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 de SOAP que se 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 listo para enviar.
Cuando trabaje con mensajes JSON, use el método CreateMessage(MessageVersion, String, Object, XmlObjectSerializer); el método CreateMessage(MessageVersion, String, Object) no funciona con los 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 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 de SOAP que se usará para el mensaje.
- fault
- MessageFault
Objeto MessageFault que representa un 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
o action
es null
.
Comentarios
Este método estático se usa para crear una nueva copia del mensaje listo para enviar.
Se aplica a
CreateMessage(MessageVersion, String, XmlDictionaryReader)
- Source:
- Message.cs
- Source:
- Message.cs
- Source:
- Message.cs
Crea un mensaje con la versión especificada, acción y cuerpo.
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 de SOAP que se 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 listo para enviar.
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 de SOAP que se 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 listo para enviar.