Message.CreateMessage メソッド

定義

メッセージを作成します。

オーバーロード

名前 説明
CreateMessage(MessageVersion, FaultCode, String, Object, String)

SOAP エラー、エラーの理由、詳細、バージョン、およびアクションを含むメッセージを作成します。

CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)

指定したバージョン、アクション、メッセージ本文、シリアライザーを使用してメッセージを作成します。

CreateMessage(MessageVersion, FaultCode, String, String)

SOAP エラー、エラーの理由、バージョン、およびアクションを含むメッセージを作成します。

CreateMessage(XmlDictionaryReader, Int32, MessageVersion)

指定したリーダー、アクション、バージョンを使用してメッセージを作成します。

CreateMessage(MessageVersion, String, XmlReader)

指定したリーダー、アクション、バージョンを使用してメッセージを作成します。

CreateMessage(XmlReader, Int32, MessageVersion)

指定したリーダー、アクション、バージョンを使用してメッセージを作成します。

CreateMessage(MessageVersion, String, BodyWriter)

バイト配列で構成される本文を含むメッセージを作成します。

CreateMessage(MessageVersion, String, Object)

指定したバージョン、アクション、本文を含むメッセージを作成します。

CreateMessage(MessageVersion, MessageFault, String)

SOAP エラー、バージョン、およびアクションを含むメッセージを作成します。

CreateMessage(MessageVersion, String)

バージョンとアクションを含むメッセージを作成します。

CreateMessage(MessageVersion, String, XmlDictionaryReader)

指定したバージョン、アクション、本文を含むメッセージを作成します。

次のコード例は、チャネル ファクトリを使用してメッセージを送信し、応答を読み取るクライアントを示しています。

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)

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 オブジェクト。

例外

versionfaultactiondetail 、または faultCodenull

注釈

この静的メソッドは、送信する準備ができているメッセージの新しいコピーを作成するために使用されます。

適用対象

CreateMessage(MessageVersion, String, Object, XmlObjectSerializer)

指定したバージョン、アクション、メッセージ本文、シリアライザーを使用してメッセージを作成します。

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 オブジェクト。

例外

versionfault 、または actionnull

注釈

この静的メソッドは、送信する準備ができているメッセージの新しいコピーを作成するために使用されます。

JSON メッセージを操作するときに、 CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) メソッドを使用する場合、 CreateMessage(MessageVersion, String, Object) メソッドは JSON メッセージでは機能しません。

適用対象

CreateMessage(MessageVersion, FaultCode, String, String)

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 オブジェクト。

例外

versionfaultaction 、または faultCodenull

注釈

この静的メソッドは、送信する準備ができているメッセージの新しいコピーを作成するために使用されます。

適用対象

CreateMessage(XmlDictionaryReader, Int32, MessageVersion)

指定したリーダー、アクション、バージョンを使用してメッセージを作成します。

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 開始タグを含まないまで読み取り、メッセージを返します。 メソッド呼び出しで例外がスローされると、リーダーが閉じます。

返されたメッセージの本文は、読み取りまたは書き込みのいずれかになります。

メッセージ本文は、返されたメッセージの GetBody メソッドを使用して読み取ることができます。 返されたオブジェクトは、 Body 要素内のすべての子要素をカプセル化します。 メッセージ本文は、 WriteBody または WriteMessageを使用して記述できます。 一度書き込まれたら、読み取ることができません。

メッセージを閉じると、基になるエンベロープ リーダーが閉じます。

適用対象

CreateMessage(MessageVersion, String, XmlReader)

指定したリーダー、アクション、バージョンを使用してメッセージを作成します。

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 オブジェクト。

例外

versionaction 、または bodynull

注釈

この静的メソッドは、送信する準備ができているメッセージの新しいコピーを作成するために使用されます。

適用対象

CreateMessage(XmlReader, Int32, MessageVersion)

指定したリーダー、アクション、バージョンを使用してメッセージを作成します。

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 開始タグを含まないまで読み取り、メッセージを返します。 メソッド呼び出しで例外がスローされると、リーダーが閉じます。

返されたメッセージの本文は、読み取りまたは書き込みのいずれかになります。

メッセージ本文は、返されたメッセージの GetBody メソッドを使用して読み取ることができます。 返されたオブジェクトは、 Body 要素内のすべての子要素をカプセル化します。 メッセージ本文は、 WriteBody または WriteMessageを使用して記述できます。 一度書き込まれたら、読み取ることができません。

メッセージを閉じると、基になるエンベロープ リーダーが閉じます。

適用対象

CreateMessage(MessageVersion, String, BodyWriter)

バイト配列で構成される本文を含むメッセージを作成します。

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 オブジェクト。

例外

Versionaction 、または bodynull

注釈

空のメッセージは、エンドポイントが実際のコンテンツなしで別のエンドポイントにアラートを送信するのに役立ちます。

適用対象

CreateMessage(MessageVersion, String, Object)

指定したバージョン、アクション、本文を含むメッセージを作成します。

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 オブジェクト。

例外

versionaction 、または bodynull

注釈

この静的メソッドは、送信する準備ができているメッセージの新しいコピーを作成するために使用されます。

JSON メッセージを操作するときに、 CreateMessage(MessageVersion, String, Object, XmlObjectSerializer) メソッドを使用する場合、 CreateMessage(MessageVersion, String, Object) メソッドは JSON メッセージでは機能しません。

適用対象

CreateMessage(MessageVersion, MessageFault, String)

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 オブジェクト。

例外

Versionfault 、または actionnull

注釈

この静的メソッドは、送信する準備ができているメッセージの新しいコピーを作成するために使用されます。

適用対象

CreateMessage(MessageVersion, String)

バージョンとアクションを含むメッセージを作成します。

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

注釈

この静的メソッドは、送信する準備ができているメッセージの新しいコピーを作成するために使用されます。

適用対象

CreateMessage(MessageVersion, String, XmlDictionaryReader)

指定したバージョン、アクション、本文を含むメッセージを作成します。

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 オブジェクト。

例外

versionaction 、または bodynull

注釈

この静的メソッドは、送信する準備ができているメッセージの新しいコピーを作成するために使用されます。

適用対象