Message.CreateMessage メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
メッセージを作成する。
オーバーロード
例
次のコード例は、メッセージを送信して応答を読み取るためにチャネル ファクトリを使用する基本的なクライアントを示しています。
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)
- ソース:
- Message.cs
- ソース:
- Message.cs
- ソース:
- 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)
- ソース:
- Message.cs
- ソース:
- Message.cs
- ソース:
- 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)
- ソース:
- Message.cs
- ソース:
- Message.cs
- ソース:
- 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
開始タグまで読み取って (ただし、開始タグ自体は含みません)、メッセージを返します。 そのメソッドの呼び出しで例外がスローされた場合、リーダーを閉じます。
これにより、返却されたメッセージの本文の読み取りまたは書き込みのいずれかを行うことができます。
メッセージ本文は、返されたメッセージで GetBody メソッドを使用することにより読み取ることができます。 返されるオブジェクトでは、Body
要素内のすべての子要素がカプセル化されます。 メッセージ本文は、WriteBody または WriteMessage を使用して書き込むことができます。 書き込んだ本文を読み取ることはできません。
メッセージを閉じると、基になるエンベロープ リーダーが閉じます。
適用対象
CreateMessage(XmlDictionaryReader, Int32, MessageVersion)
- ソース:
- Message.cs
- ソース:
- Message.cs
- ソース:
- 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
開始タグまで読み取って (ただし、開始タグ自体は含みません)、メッセージを返します。 そのメソッドの呼び出しで例外がスローされた場合、リーダーを閉じます。
これにより、返却されたメッセージの本文の読み取りまたは書き込みのいずれかを行うことができます。
メッセージ本文は、返されたメッセージで GetBody メソッドを使用することにより読み取ることができます。 返されるオブジェクトでは、Body
要素内のすべての子要素がカプセル化されます。 メッセージ本文は、WriteBody または WriteMessage を使用して書き込むことができます。 書き込んだ本文を読み取ることはできません。
メッセージを閉じると、基になるエンベロープ リーダーが閉じます。
適用対象
CreateMessage(MessageVersion, String, XmlReader)
- ソース:
- Message.cs
- ソース:
- Message.cs
- ソース:
- 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)
- ソース:
- Message.cs
- ソース:
- Message.cs
- ソース:
- Message.cs
指定したバージョン、アクション、メッセージ本文、およびシリアライザーを使用して、メッセージを作成します。
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
メッセージをシリアル化するために使用される XmlObjectSerializer オブジェクト。
戻り値
作成されたメッセージの Message オブジェクト。
例外
version
、fault
、または action
が null
です。
注釈
この静的メソッドは、送信する準備の整ったメッセージの新しいコピーを作成するために使用されます。
JSON メッセージを操作する場合は、CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) メソッドを使用します。CreateMessage(MessageVersion, String, Object) メソッドは、JSON メッセージでは機能しません。
適用対象
CreateMessage(MessageVersion, String, BodyWriter)
- ソース:
- Message.cs
- ソース:
- Message.cs
- ソース:
- 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
byte 型の BodyWriter。
戻り値
作成されたメッセージの Message オブジェクト。
例外
Version
、action
、または body
が null
です。
注釈
空のメッセージは、あるエンドポイントが実際の内容を含まない別のエンドポイントに警告を送信する場合に役立ちます。
適用対象
CreateMessage(MessageVersion, String, Object)
- ソース:
- Message.cs
- ソース:
- Message.cs
- ソース:
- 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)
- ソース:
- Message.cs
- ソース:
- Message.cs
- ソース:
- 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)
- ソース:
- Message.cs
- ソース:
- Message.cs
- ソース:
- 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)
- ソース:
- Message.cs
- ソース:
- Message.cs
- ソース:
- 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