Message.CreateMessage Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
- 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.
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.