Message.CreateMessage Metoda

Definicja

Tworzy komunikat.

Przeciążenia

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

Tworzy komunikat zawierający błąd protokołu SOAP, przyczynę i szczegóły błędu, wersję i akcję.

CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)

Tworzy komunikat przy użyciu określonej wersji, akcji, treści komunikatu i serializatora.

CreateMessage(MessageVersion, FaultCode, String, String)

Tworzy komunikat zawierający błąd protokołu SOAP, przyczynę błędu, wersję i akcję.

CreateMessage(XmlDictionaryReader, Int32, MessageVersion)

Tworzy komunikat przy użyciu określonego czytnika, akcji i wersji.

CreateMessage(MessageVersion, String, XmlReader)

Tworzy komunikat przy użyciu określonego czytnika, akcji i wersji.

CreateMessage(XmlReader, Int32, MessageVersion)

Tworzy komunikat przy użyciu określonego czytnika, akcji i wersji.

CreateMessage(MessageVersion, String, BodyWriter)

Tworzy komunikat z treścią składającą się z tablicy bajtów.

CreateMessage(MessageVersion, String, Object)

Tworzy komunikat z określoną wersją, akcją i treścią.

CreateMessage(MessageVersion, MessageFault, String)

Tworzy komunikat zawierający błąd protokołu SOAP, wersję i akcję.

CreateMessage(MessageVersion, String)

Tworzy komunikat zawierający wersję i akcję.

CreateMessage(MessageVersion, String, XmlDictionaryReader)

Tworzy komunikat z określoną wersją, akcją i treścią.

Przykłady

Poniższy przykład kodu przedstawia klienta, który używa fabryki kanałów do wysyłania wiadomości i odczytywania odpowiedzi.

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

Uwagi

Ta metoda służy do tworzenia nowej kopii komunikatu gotowego do wysłania.

Podczas pracy z komunikatami JSON użyj CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) metody , CreateMessage(MessageVersion, String, Object) metoda nie działa z komunikatami JSON.

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

Tworzy komunikat zawierający błąd protokołu SOAP, przyczynę i szczegóły błędu, wersję i akcję.

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

Parametry

version
MessageVersion

MessageVersion Obiekt, który określa wersję protokołu SOAP do użycia dla komunikatu.

faultCode
FaultCode

MessageFault Obiekt reprezentujący błąd protokołu SOAP.

reason
String

Przyczyna błędu protokołu SOAP.

detail
Object

Szczegóły błędu protokołu SOAP.

action
String

Opis sposobu przetwarzania komunikatu.

Zwraca

Obiekt Message dla utworzonego komunikatu.

Wyjątki

version, , faultlub detailactionfaultCode ma wartość null.

Uwagi

Ta metoda statyczna służy do tworzenia nowej kopii komunikatu gotowego do wysyłania.

Dotyczy

CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)

Tworzy komunikat przy użyciu określonej wersji, akcji, treści komunikatu i serializatora.

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

Parametry

version
MessageVersion

MessageVersion Obiekt, który określa wersję protokołu SOAP do użycia dla komunikatu.

action
String

Opis sposobu przetwarzania komunikatu.

body
Object

Treść wiadomości.

serializer
XmlObjectSerializer

XmlObjectSerializer Obiekt używany do serializacji komunikatu.

Zwraca

Obiekt Message dla utworzonego komunikatu.

Wyjątki

version, fault lub action ma wartość null.

Uwagi

Ta metoda statyczna służy do tworzenia nowej kopii komunikatu gotowego do wysyłania.

Podczas pracy z komunikatami JSON użyj CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) metody , CreateMessage(MessageVersion, String, Object) metoda nie działa z komunikatami JSON.

Dotyczy

CreateMessage(MessageVersion, FaultCode, String, String)

Tworzy komunikat zawierający błąd protokołu SOAP, przyczynę błędu, wersję i akcję.

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

Parametry

version
MessageVersion

MessageVersion Obiekt, który określa wersję protokołu SOAP do użycia dla komunikatu.

faultCode
FaultCode

MessageFault Obiekt reprezentujący błąd protokołu SOAP.

reason
String

Przyczyna błędu protokołu SOAP.

action
String

Opis sposobu przetwarzania komunikatu.

Zwraca

Obiekt Message dla utworzonego komunikatu.

Wyjątki

version, lub faultactionfaultCode ma wartość null.

Uwagi

Ta metoda statyczna służy do tworzenia nowej kopii komunikatu gotowego do wysyłania.

Dotyczy

CreateMessage(XmlDictionaryReader, Int32, MessageVersion)

Tworzy komunikat przy użyciu określonego czytnika, akcji i wersji.

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

Parametry

envelopeReader
XmlDictionaryReader

Obiekt XmlDictionaryReader , który ma być używany do odczytywania komunikatu PROTOKOŁU SOAP.

maxSizeOfHeaders
Int32

Maksymalny rozmiar w bajtach nagłówka.

version
MessageVersion

Prawidłowa MessageVersion wartość określająca wersję protokołu SOAP do użycia dla komunikatu.

Zwraca

Obiekt Message dla utworzonego komunikatu.

Wyjątki

envelopeReader lub version ma wartość null.

Uwagi

Message przejmuje własność obiektu envelopeReader.

Ta metoda odczytuje kopertę, buforuje wszystkie nagłówki do kolekcji nagłówków i odczytuje do, ale nie uwzględnia tagu Body startowego i zwraca komunikat. Jeśli wywołanie metody zgłasza wyjątek, zamyka czytnik.

Treść zwróconej wiadomości może być odczytywana lub zapisywana.

Treść komunikatu GetBody można odczytać przy użyciu metod zwracanych komunikatów. Zwrócony obiekt hermetyzuje wszystkie elementy podrzędne w elemplecie Body . Treść wiadomości można napisać przy użyciu polecenia WriteBody lub WriteMessage. Po zapisaniu nie można go odczytać.

Zamknięcie komunikatu zamyka źródłowy czytnik kopert.

Dotyczy

CreateMessage(MessageVersion, String, XmlReader)

Tworzy komunikat przy użyciu określonego czytnika, akcji i wersji.

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

Parametry

version
MessageVersion

MessageVersion Obiekt, który określa wersję protokołu SOAP do użycia dla komunikatu.

action
String

Opis sposobu przetwarzania komunikatu.

body
XmlReader

Obiekt XmlReader , który ma być używany do odczytywania komunikatu PROTOKOŁU SOAP.

Zwraca

Obiekt Message dla utworzonego komunikatu.

Wyjątki

version, action lub body ma wartość null.

Uwagi

Ta metoda statyczna służy do tworzenia nowej kopii komunikatu gotowego do wysyłania.

Dotyczy

CreateMessage(XmlReader, Int32, MessageVersion)

Tworzy komunikat przy użyciu określonego czytnika, akcji i wersji.

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

Parametry

envelopeReader
XmlReader

Obiekt XmlReader , który ma być używany do odczytywania komunikatu PROTOKOŁU SOAP.

maxSizeOfHeaders
Int32

Maksymalny rozmiar w bajtach nagłówka.

version
MessageVersion

MessageVersion Obiekt, który określa wersję protokołu SOAP do użycia dla komunikatu.

Zwraca

Obiekt Message dla utworzonego komunikatu.

Wyjątki

envelopeReader lub version ma wartość null.

Uwagi

Message przejmuje własność obiektu envelopeReader.

Ta metoda odczytuje kopertę, buforuje wszystkie nagłówki do kolekcji nagłówków i odczytuje do, ale nie uwzględnia tagu Body startowego i zwraca komunikat. Jeśli wywołanie metody zgłasza wyjątek, zamyka czytnik.

Treść zwróconej wiadomości może być odczytywana lub zapisywana.

Treść komunikatu GetBody można odczytać przy użyciu metod zwracanych komunikatów. Zwrócony obiekt hermetyzuje wszystkie elementy podrzędne w elemplecie Body . Treść wiadomości można napisać przy użyciu polecenia WriteBody lub WriteMessage. Po zapisaniu nie można go odczytać.

Zamknięcie komunikatu zamyka źródłowy czytnik kopert.

Dotyczy

CreateMessage(MessageVersion, String, BodyWriter)

Tworzy komunikat z treścią składającą się z tablicy bajtów.

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

Parametry

version
MessageVersion

MessageVersion Obiekt, który określa wersję protokołu SOAP do użycia dla komunikatu.

action
String

Opis sposobu przetwarzania komunikatu.

body
BodyWriter

Bajt BodyWriter typu.

Zwraca

Obiekt Message dla utworzonego komunikatu.

Wyjątki

Version, action lub body ma wartość null.

Uwagi

Pusty komunikat jest przydatny dla punktu końcowego do wysyłania alertu do innego punktu końcowego bez żadnej rzeczywistej zawartości.

Dotyczy

CreateMessage(MessageVersion, String, Object)

Tworzy komunikat z określoną wersją, akcją i treścią.

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

Parametry

version
MessageVersion

MessageVersion Obiekt, który określa wersję protokołu SOAP do użycia dla komunikatu.

action
String

Opis sposobu przetwarzania komunikatu.

body
Object

Treść wiadomości.

Zwraca

Obiekt Message dla utworzonego komunikatu.

Wyjątki

version, action lub body ma wartość null.

Uwagi

Ta metoda statyczna służy do tworzenia nowej kopii komunikatu gotowego do wysyłania.

Podczas pracy z komunikatami JSON użyj CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) metody , CreateMessage(MessageVersion, String, Object) metoda nie działa z komunikatami JSON.

Dotyczy

CreateMessage(MessageVersion, MessageFault, String)

Tworzy komunikat zawierający błąd protokołu SOAP, wersję i akcję.

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

Parametry

version
MessageVersion

MessageVersion Obiekt, który określa wersję protokołu SOAP do użycia dla komunikatu.

fault
MessageFault

MessageFault Obiekt reprezentujący błąd protokołu SOAP.

action
String

Opis sposobu przetwarzania komunikatu.

Zwraca

Obiekt Message dla utworzonego komunikatu.

Wyjątki

Version, fault lub action ma wartość null.

Uwagi

Ta metoda statyczna służy do tworzenia nowej kopii komunikatu gotowego do wysyłania.

Dotyczy

CreateMessage(MessageVersion, String)

Tworzy komunikat zawierający wersję i akcję.

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

Parametry

version
MessageVersion

MessageVersion Obiekt, który określa wersję protokołu SOAP do użycia dla komunikatu.

action
String

Opis sposobu przetwarzania komunikatu.

Zwraca

Obiekt Message dla utworzonego komunikatu.

Wyjątki

version lub action ma wartość null.

Uwagi

Ta metoda statyczna służy do tworzenia nowej kopii komunikatu gotowego do wysyłania.

Dotyczy

CreateMessage(MessageVersion, String, XmlDictionaryReader)

Tworzy komunikat z określoną wersją, akcją i treścią.

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

Parametry

version
MessageVersion

MessageVersion Obiekt, który określa wersję protokołu SOAP do użycia dla komunikatu.

action
String

Opis sposobu przetwarzania komunikatu.

body
XmlDictionaryReader

Treść wiadomości.

Zwraca

Obiekt Message dla utworzonego komunikatu.

Wyjątki

version, action lub body ma wartość null.

Uwagi

Ta metoda statyczna służy do tworzenia nowej kopii komunikatu gotowego do wysyłania.

Dotyczy