다음을 통해 공유


Message.CreateMessage 메서드

정의

메시지를 만듭니다.

오버로드

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

SOAP 오류, 오류 원인과 정보, 버전 및 동작을 포함하는 메시지를 만듭니다.

CreateMessage(MessageVersion, FaultCode, String, String)

SOAP 오류, 오류 원인, 버전 및 동작을 포함하는 메시지를 만듭니다.

CreateMessage(XmlReader, Int32, MessageVersion)

지정된 판독기, 동작 및 버전을 사용하여 메시지를 만듭니다.

CreateMessage(XmlDictionaryReader, Int32, MessageVersion)

지정된 판독기, 동작 및 버전을 사용하여 메시지를 만듭니다.

CreateMessage(MessageVersion, String, XmlReader)

지정된 판독기, 동작 및 버전을 사용하여 메시지를 만듭니다.

CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)

지정된 버전, 동작, 메시지 본문 및 serializer를 사용하여 메시지를 만듭니다.

CreateMessage(MessageVersion, String, BodyWriter)

바이트 배열로 구성되는 본문을 가진 메시지를 만듭니다.

CreateMessage(MessageVersion, String, Object)

지정된 버전, 동작 및 본문을 사용하여 메시지를 만듭니다.

CreateMessage(MessageVersion, MessageFault, String)

SOAP 오류, 버전 및 동작을 포함하는 메시지를 만듭니다.

CreateMessage(MessageVersion, String, XmlDictionaryReader)

지정된 버전, 동작 및 본문을 사용하여 메시지를 만듭니다.

CreateMessage(MessageVersion, String)

버전 및 동작을 포함하는 메시지를 만듭니다.

예제

다음 코드 예제에서는 채널 팩터리를 사용하여 메시지를 보내고 회신을 읽는 클라이언트를 보여 줍니다.

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

설명

이 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.

JSON 메시지로 작업할 때는 메서드를 CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) 사용 하 CreateMessage(MessageVersion, String, Object) 여 메서드 JSON 메시지와 함께 작동 하지 않습니다.

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

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

SOAP 오류, 오류 원인과 정보, 버전 및 동작을 포함하는 메시지를 만듭니다.

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

매개 변수

version
MessageVersion

메시지에 사용할 SOAP 버전을 지정하는 MessageVersion 개체입니다.

faultCode
FaultCode

SOAP 오류를 나타내는 MessageFault 개체입니다.

reason
String

SOAP 오류의 원인입니다.

detail
Object

SOAP 오류의 정보입니다.

action
String

메시지 처리 방법에 대한 설명입니다.

반환

생성된 메시지의 Message 개체입니다.

예외

version, fault, action, detail 또는 faultCodenull인 경우

설명

이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.

적용 대상

CreateMessage(MessageVersion, FaultCode, String, String)

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

SOAP 오류, 오류 원인, 버전 및 동작을 포함하는 메시지를 만듭니다.

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

매개 변수

version
MessageVersion

메시지에 사용할 SOAP 버전을 지정하는 MessageVersion 개체입니다.

faultCode
FaultCode

SOAP 오류를 나타내는 MessageFault 개체입니다.

reason
String

SOAP 오류의 원인입니다.

action
String

메시지 처리 방법에 대한 설명입니다.

반환

생성된 메시지의 Message 개체입니다.

예외

version, fault, action 또는 faultCodenull인 경우

설명

이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.

적용 대상

CreateMessage(XmlReader, Int32, MessageVersion)

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

지정된 판독기, 동작 및 버전을 사용하여 메시지를 만듭니다.

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

매개 변수

envelopeReader
XmlReader

SOAP 메시지를 읽는 데 사용되는 XmlReader 개체입니다.

maxSizeOfHeaders
Int32

헤더의 최대 크기(바이트)입니다.

version
MessageVersion

메시지에 사용할 SOAP 버전을 지정하는 MessageVersion 개체입니다.

반환

생성된 메시지의 Message 개체입니다.

예외

envelopeReader 또는 versionnull인 경우

설명

Message 는 의 소유권을 사용합니다 envelopeReader.

이 메서드는 봉투를 읽고, 모든 헤더를 헤더 컬렉션에 버퍼링하고, 시작 태그를 포함하지 Body 않고 읽은 다음 메시지를 반환합니다. 메서드 호출이 예외를 throw하면 판독기가 닫힙니다.

반환된 메시지의 본문을 읽거나 쓸 수 있습니다.

반환된 메시지의 메서드를 GetBody 사용하여 메시지 본문을 읽을 수 있습니다. 반환된 개체는 요소 내 Body 의 모든 자식 요소를 캡슐화합니다. 메시지 본문은 또는 WriteMessage를 사용하여 WriteBody 작성할 수 있습니다. 일단 쓰면 읽을 수 없습니다.

메시지를 닫으면 기본 봉투 판독기가 닫힙니다.

적용 대상

CreateMessage(XmlDictionaryReader, Int32, MessageVersion)

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

지정된 판독기, 동작 및 버전을 사용하여 메시지를 만듭니다.

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

매개 변수

envelopeReader
XmlDictionaryReader

SOAP 메시지를 읽는 데 사용되는 XmlDictionaryReader 개체입니다.

maxSizeOfHeaders
Int32

헤더의 최대 크기(바이트)입니다.

version
MessageVersion

메시지에 사용할 SOAP 버전을 지정하는 유효한 MessageVersion 값입니다.

반환

생성된 메시지의 Message 개체입니다.

예외

envelopeReader 또는 versionnull인 경우

설명

Message 는 의 소유권을 사용합니다 envelopeReader.

이 메서드는 봉투를 읽고, 모든 헤더를 헤더 컬렉션에 버퍼링하고, 시작 태그를 포함하지 Body 않고 읽은 다음 메시지를 반환합니다. 메서드 호출이 예외를 throw하면 판독기가 닫힙니다.

반환된 메시지의 본문을 읽거나 쓸 수 있습니다.

반환된 메시지의 메서드를 GetBody 사용하여 메시지 본문을 읽을 수 있습니다. 반환된 개체는 요소 내 Body 의 모든 자식 요소를 캡슐화합니다. 메시지 본문은 또는 WriteMessage를 사용하여 WriteBody 작성할 수 있습니다. 일단 쓰면 읽을 수 없습니다.

메시지를 닫으면 기본 봉투 판독기가 닫힙니다.

적용 대상

CreateMessage(MessageVersion, String, XmlReader)

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

지정된 판독기, 동작 및 버전을 사용하여 메시지를 만듭니다.

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

매개 변수

version
MessageVersion

메시지에 사용할 SOAP 버전을 지정하는 MessageVersion 개체입니다.

action
String

메시지 처리 방법에 대한 설명입니다.

body
XmlReader

SOAP 메시지를 읽는 데 사용되는 XmlReader 개체입니다.

반환

생성된 메시지의 Message 개체입니다.

예외

version, action 또는 bodynull인 경우

설명

이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.

적용 대상

CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)

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

지정된 버전, 동작, 메시지 본문 및 serializer를 사용하여 메시지를 만듭니다.

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

매개 변수

version
MessageVersion

메시지에 사용할 SOAP 버전을 지정하는 MessageVersion 개체입니다.

action
String

메시지 처리 방법에 대한 설명입니다.

body
Object

메시지의 본문입니다.

serializer
XmlObjectSerializer

메시지를 serialize하는 데 사용되는 XmlObjectSerializer 개체입니다.

반환

생성된 메시지의 Message 개체입니다.

예외

version, fault 또는 actionnull인 경우

설명

이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.

JSON 메시지로 작업할 때는 메서드를 CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) 사용 하 CreateMessage(MessageVersion, String, Object) 여 메서드 JSON 메시지와 함께 작동 하지 않습니다.

적용 대상

CreateMessage(MessageVersion, String, BodyWriter)

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

바이트 배열로 구성되는 본문을 가진 메시지를 만듭니다.

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

매개 변수

version
MessageVersion

메시지에 사용할 SOAP 버전을 지정하는 MessageVersion 개체입니다.

action
String

메시지 처리 방법에 대한 설명입니다.

body
BodyWriter

바이트 형식의 BodyWriter입니다.

반환

생성된 메시지의 Message 개체입니다.

예외

Version, action 또는 bodynull인 경우

설명

빈 메시지는 엔드포인트가 실제 콘텐츠 없이 다른 엔드포인트에 경고를 보내는 데 유용합니다.

적용 대상

CreateMessage(MessageVersion, String, Object)

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

지정된 버전, 동작 및 본문을 사용하여 메시지를 만듭니다.

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

매개 변수

version
MessageVersion

메시지에 사용할 SOAP 버전을 지정하는 MessageVersion 개체입니다.

action
String

메시지 처리 방법에 대한 설명입니다.

body
Object

메시지의 본문입니다.

반환

생성된 메시지의 Message 개체입니다.

예외

version, action 또는 bodynull인 경우

설명

이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.

JSON 메시지로 작업할 때는 메서드를 CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) 사용 하 CreateMessage(MessageVersion, String, Object) 여 메서드 JSON 메시지와 함께 작동 하지 않습니다.

적용 대상

CreateMessage(MessageVersion, MessageFault, String)

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

SOAP 오류, 버전 및 동작을 포함하는 메시지를 만듭니다.

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

매개 변수

version
MessageVersion

메시지에 사용할 SOAP 버전을 지정하는 MessageVersion 개체입니다.

fault
MessageFault

SOAP 오류를 나타내는 MessageFault 개체입니다.

action
String

메시지 처리 방법에 대한 설명입니다.

반환

생성된 메시지의 Message 개체입니다.

예외

Version, fault 또는 actionnull인 경우

설명

이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.

적용 대상

CreateMessage(MessageVersion, String, XmlDictionaryReader)

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

지정된 버전, 동작 및 본문을 사용하여 메시지를 만듭니다.

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

매개 변수

version
MessageVersion

메시지에 사용할 SOAP 버전을 지정하는 MessageVersion 개체입니다.

action
String

메시지 처리 방법에 대한 설명입니다.

body
XmlDictionaryReader

메시지의 본문입니다.

반환

생성된 메시지의 Message 개체입니다.

예외

version, action 또는 bodynull인 경우

설명

이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.

적용 대상

CreateMessage(MessageVersion, String)

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

버전 및 동작을 포함하는 메시지를 만듭니다.

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

매개 변수

version
MessageVersion

메시지에 사용할 SOAP 버전을 지정하는 MessageVersion 개체입니다.

action
String

메시지 처리 방법에 대한 설명입니다.

반환

생성된 메시지의 Message 개체입니다.

예외

version 또는 actionnull인 경우

설명

이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.

적용 대상