Message.CreateMessage 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
메시지를 만듭니다.
오버로드
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
또는 faultCode
가 null
인 경우
설명
이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.
적용 대상
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
또는 faultCode
가 null
인 경우
설명
이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.
적용 대상
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
매개 변수
- maxSizeOfHeaders
- Int32
헤더의 최대 크기(바이트)입니다.
- version
- MessageVersion
메시지에 사용할 SOAP 버전을 지정하는 MessageVersion 개체입니다.
반환
생성된 메시지의 Message 개체입니다.
예외
envelopeReader
또는 version
가 null
인 경우
설명
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
또는 version
가 null
인 경우
설명
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
메시지 처리 방법에 대한 설명입니다.
반환
생성된 메시지의 Message 개체입니다.
예외
version
, action
또는 body
이 null
인 경우
설명
이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.
적용 대상
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
또는 action
이 null
인 경우
설명
이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.
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
또는 body
이 null
인 경우
설명
빈 메시지는 엔드포인트가 실제 콘텐츠 없이 다른 엔드포인트에 경고를 보내는 데 유용합니다.
적용 대상
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
또는 body
이 null
인 경우
설명
이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.
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
또는 action
이 null
인 경우
설명
이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.
적용 대상
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
또는 body
이 null
인 경우
설명
이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.
적용 대상
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
또는 action
가 null
인 경우
설명
이 정적 메서드는 보낼 준비가 된 메시지의 새 복사본을 만드는 데 사용됩니다.
적용 대상
.NET