Condividi tramite


Message.CreateMessage Metodo

Definizione

Crea un messaggio.

Overload

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

Crea un messaggio che contiene un errore SOAP, una causa e i dettagli dell'errore, la versione e l'azione.

CreateMessage(MessageVersion, FaultCode, String, String)

Crea un messaggio che contiene un errore SOAP, la causa dell'errore, una versione e un'azione.

CreateMessage(XmlReader, Int32, MessageVersion)

Crea un messaggio utilizzando il lettore, l'azione e la versione specificati.

CreateMessage(XmlDictionaryReader, Int32, MessageVersion)

Crea un messaggio utilizzando il lettore, l'azione e la versione specificati.

CreateMessage(MessageVersion, String, XmlReader)

Crea un messaggio utilizzando il lettore, l'azione e la versione specificati.

CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)

Crea un messaggio utilizzando la versione, l'azione, il corpo del messaggio e il serializzatore specificati.

CreateMessage(MessageVersion, String, BodyWriter)

Crea un messaggio con un corpo costituito da una matrice di byte.

CreateMessage(MessageVersion, String, Object)

Crea un messaggio con la versione, l'azione e il corpo specificati.

CreateMessage(MessageVersion, MessageFault, String)

Crea un messaggio che contiene un errore SOAP, una versione e un'azione.

CreateMessage(MessageVersion, String, XmlDictionaryReader)

Crea un messaggio con la versione, l'azione e il corpo specificati.

CreateMessage(MessageVersion, String)

Crea un messaggio che contiene una versione e un'azione.

Esempio

Nell'esempio di codice seguente viene illustrato un client che utilizza la channel factory per inviare un messaggio e leggere la risposta.

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

Commenti

Questo metodo viene utilizzato per creare una nuova copia di un messaggio pronto per l'invio.

Con i messaggi JSON, utilizzare il metodo CreateMessage(MessageVersion, String, Object, XmlObjectSerializer). Il metodo CreateMessage(MessageVersion, String, Object) non funziona con i messaggi JSON.

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

Origine:
Message.cs
Origine:
Message.cs
Origine:
Message.cs

Crea un messaggio che contiene un errore SOAP, una causa e i dettagli dell'errore, la versione e l'azione.

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

Parametri

version
MessageVersion

Oggetto MessageVersion che specifica la versione SOAP da utilizzare per il messaggio.

faultCode
FaultCode

Oggetto MessageFault che rappresenta un errore SOAP.

reason
String

Causa dell'errore SOAP.

detail
Object

Dettagli dell'errore SOAP.

action
String

Descrizione della modalità di elaborazione da utilizzare per il messaggio.

Restituisce

Oggetto Message per il messaggio creato.

Eccezioni

version, fault, action, detail o faultCode è null.

Commenti

Questo metodo statico viene utilizzato per creare una nuova copia del messaggio pronto per l'invio.

Si applica a

CreateMessage(MessageVersion, FaultCode, String, String)

Origine:
Message.cs
Origine:
Message.cs
Origine:
Message.cs

Crea un messaggio che contiene un errore SOAP, la causa dell'errore, una versione e un'azione.

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

Parametri

version
MessageVersion

Oggetto MessageVersion che specifica la versione SOAP da utilizzare per il messaggio.

faultCode
FaultCode

Oggetto MessageFault che rappresenta un errore SOAP.

reason
String

Causa dell'errore SOAP.

action
String

Descrizione della modalità di elaborazione da utilizzare per il messaggio.

Restituisce

Oggetto Message per il messaggio creato.

Eccezioni

version, fault, action o faultCode è null.

Commenti

Questo metodo statico viene utilizzato per creare una nuova copia del messaggio pronto per l'invio.

Si applica a

CreateMessage(XmlReader, Int32, MessageVersion)

Origine:
Message.cs
Origine:
Message.cs
Origine:
Message.cs

Crea un messaggio utilizzando il lettore, l'azione e la versione specificati.

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

Parametri

envelopeReader
XmlReader

Oggetto XmlReader da utilizzare per la lettura del messaggio SOAP.

maxSizeOfHeaders
Int32

Dimensione massima, in byte, di un'intestazione.

version
MessageVersion

Oggetto MessageVersion che specifica la versione SOAP da utilizzare per il messaggio.

Restituisce

Oggetto Message per il messaggio creato.

Eccezioni

envelopeReader o version è null.

Commenti

Message accetta la proprietà di envelopeReader.

Questo metodo legge l'envelope, memorizza nel buffer tutte le intestazioni incluse nella raccolta di intestazioni, quindi legge fino al tag di inizio Body escluso e restituisce il messaggio. Se la chiamata al metodo genera un'eccezione, il lettore viene chiuso.

Il corpo del messaggio restituito può quindi essere letto o scritto.

Il corpo del messaggio può essere letto utilizzando i metodi GetBody nel messaggio restituito. L'oggetto restituito incapsula tutti gli elementi figlio all'interno dell'elemento Body. Il corpo del messaggio può essere scritto utilizzando WriteBody o WriteMessage. Una volta scritto, non può essere letto.

La chiusura del messaggio determina la chiusura del lettore di envelope sottostante.

Si applica a

CreateMessage(XmlDictionaryReader, Int32, MessageVersion)

Origine:
Message.cs
Origine:
Message.cs
Origine:
Message.cs

Crea un messaggio utilizzando il lettore, l'azione e la versione specificati.

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

Parametri

envelopeReader
XmlDictionaryReader

Oggetto XmlDictionaryReader da utilizzare per la lettura del messaggio SOAP.

maxSizeOfHeaders
Int32

Dimensione massima, in byte, di un'intestazione.

version
MessageVersion

Valore MessageVersion valido che specifica la versione SOAP da utilizzare per il messaggio.

Restituisce

Oggetto Message per il messaggio creato.

Eccezioni

envelopeReader o version è null.

Commenti

Message accetta la proprietà di envelopeReader.

Questo metodo legge l'envelope, memorizza nel buffer tutte le intestazioni incluse nella raccolta di intestazioni, quindi legge fino al tag di inizio Body escluso e restituisce il messaggio. Se la chiamata al metodo genera un'eccezione, il lettore viene chiuso.

Il corpo del messaggio restituito può quindi essere letto o scritto.

Il corpo del messaggio può essere letto utilizzando i metodi GetBody nel messaggio restituito. L'oggetto restituito incapsula tutti gli elementi figlio all'interno dell'elemento Body. Il corpo del messaggio può essere scritto utilizzando WriteBody o WriteMessage. Una volta scritto, non può essere letto.

La chiusura del messaggio determina la chiusura del lettore di envelope sottostante.

Si applica a

CreateMessage(MessageVersion, String, XmlReader)

Origine:
Message.cs
Origine:
Message.cs
Origine:
Message.cs

Crea un messaggio utilizzando il lettore, l'azione e la versione specificati.

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

Parametri

version
MessageVersion

Oggetto MessageVersion che specifica la versione SOAP da utilizzare per il messaggio.

action
String

Descrizione della modalità di elaborazione da utilizzare per il messaggio.

body
XmlReader

Oggetto XmlReader da utilizzare per la lettura del messaggio SOAP.

Restituisce

Oggetto Message per il messaggio creato.

Eccezioni

version, action o body è null.

Commenti

Questo metodo statico viene utilizzato per creare una nuova copia del messaggio pronto per l'invio.

Si applica a

CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)

Origine:
Message.cs
Origine:
Message.cs
Origine:
Message.cs

Crea un messaggio utilizzando la versione, l'azione, il corpo del messaggio e il serializzatore specificati.

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

Parametri

version
MessageVersion

Oggetto MessageVersion che specifica la versione SOAP da utilizzare per il messaggio.

action
String

Descrizione della modalità di elaborazione da utilizzare per il messaggio.

body
Object

Corpo del messaggio.

serializer
XmlObjectSerializer

Oggetto XmlObjectSerializer utilizzato per serializzare il messaggio.

Restituisce

Oggetto Message per il messaggio creato.

Eccezioni

version, fault o action è null.

Commenti

Questo metodo statico viene utilizzato per creare una nuova copia del messaggio pronto per l'invio.

Con i messaggi JSON, utilizzare il metodo CreateMessage(MessageVersion, String, Object, XmlObjectSerializer). Il metodo CreateMessage(MessageVersion, String, Object) non funziona con i messaggi JSON.

Si applica a

CreateMessage(MessageVersion, String, BodyWriter)

Origine:
Message.cs
Origine:
Message.cs
Origine:
Message.cs

Crea un messaggio con un corpo costituito da una matrice di byte.

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

Parametri

version
MessageVersion

Oggetto MessageVersion che specifica la versione SOAP da utilizzare per il messaggio.

action
String

Descrizione della modalità di elaborazione da utilizzare per il messaggio.

body
BodyWriter

Oggetto BodyWriter di tipo byte.

Restituisce

Oggetto Message per il messaggio creato.

Eccezioni

Version, action o body è null.

Commenti

Un messaggio vuoto può essere utilizzato da un endpoint per inviare un avviso a un altro endpoint senza contenuto effettivo.

Si applica a

CreateMessage(MessageVersion, String, Object)

Origine:
Message.cs
Origine:
Message.cs
Origine:
Message.cs

Crea un messaggio con la versione, l'azione e il corpo specificati.

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

Parametri

version
MessageVersion

Oggetto MessageVersion che specifica la versione SOAP da utilizzare per il messaggio.

action
String

Descrizione della modalità di elaborazione da utilizzare per il messaggio.

body
Object

Corpo del messaggio.

Restituisce

Oggetto Message per il messaggio creato.

Eccezioni

version, action o body è null.

Commenti

Questo metodo statico viene utilizzato per creare una nuova copia del messaggio pronto per l'invio.

Con i messaggi JSON, utilizzare il metodo CreateMessage(MessageVersion, String, Object, XmlObjectSerializer). Il metodo CreateMessage(MessageVersion, String, Object) non funziona con i messaggi JSON.

Si applica a

CreateMessage(MessageVersion, MessageFault, String)

Origine:
Message.cs
Origine:
Message.cs
Origine:
Message.cs

Crea un messaggio che contiene un errore SOAP, una versione e un'azione.

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

Parametri

version
MessageVersion

Oggetto MessageVersion che specifica la versione SOAP da utilizzare per il messaggio.

fault
MessageFault

Oggetto MessageFault che rappresenta un errore SOAP.

action
String

Descrizione della modalità di elaborazione da utilizzare per il messaggio.

Restituisce

Oggetto Message per il messaggio creato.

Eccezioni

Version, fault o action è null.

Commenti

Questo metodo statico viene utilizzato per creare una nuova copia del messaggio pronto per l'invio.

Si applica a

CreateMessage(MessageVersion, String, XmlDictionaryReader)

Origine:
Message.cs
Origine:
Message.cs
Origine:
Message.cs

Crea un messaggio con la versione, l'azione e il corpo specificati.

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

Parametri

version
MessageVersion

Oggetto MessageVersion che specifica la versione SOAP da utilizzare per il messaggio.

action
String

Descrizione della modalità di elaborazione da utilizzare per il messaggio.

body
XmlDictionaryReader

Corpo del messaggio.

Restituisce

Oggetto Message per il messaggio creato.

Eccezioni

version, action o body è null.

Commenti

Questo metodo statico viene utilizzato per creare una nuova copia del messaggio pronto per l'invio.

Si applica a

CreateMessage(MessageVersion, String)

Origine:
Message.cs
Origine:
Message.cs
Origine:
Message.cs

Crea un messaggio che contiene una versione e un'azione.

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

Parametri

version
MessageVersion

Oggetto MessageVersion che specifica la versione SOAP da utilizzare per il messaggio.

action
String

Descrizione della modalità di elaborazione da utilizzare per il messaggio.

Restituisce

Oggetto Message per il messaggio creato.

Eccezioni

version o action è null.

Commenti

Questo metodo statico viene utilizzato per creare una nuova copia del messaggio pronto per l'invio.

Si applica a