次の方法で共有


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)

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

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)

ソース:
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 オブジェクト。

例外

versionfaultactiondetail、または faultCodenull です。

注釈

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

適用対象

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

例外

versionfaultaction、または faultCodenull です。

注釈

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

適用対象

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

パラメーター

envelopeReader
XmlReader

SOAP メッセージを読み取るために使用する XmlReader オブジェクト。

maxSizeOfHeaders
Int32

ヘッダーの最大サイズ (バイト単位)。

version
MessageVersion

メッセージで使用する SOAP バージョンを指定する MessageVersion オブジェクト。

戻り値

作成されたメッセージの Message オブジェクト。

例外

envelopeReader または versionnull です。

注釈

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 または versionnull です。

注釈

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

メッセージの処理方法の説明。

body
XmlReader

SOAP メッセージを読み取るために使用する XmlReader オブジェクト。

戻り値

作成されたメッセージの Message オブジェクト。

例外

versionaction、または bodynull です。

注釈

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

適用対象

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

例外

versionfault、または actionnull です。

注釈

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

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

例外

Versionaction、または bodynull です。

注釈

空のメッセージは、あるエンドポイントが実際の内容を含まない別のエンドポイントに警告を送信する場合に役立ちます。

適用対象

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

例外

versionaction、または bodynull です。

注釈

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

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

例外

Versionfault、または actionnull です。

注釈

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

適用対象

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

例外

versionaction、または bodynull です。

注釈

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

適用対象

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 または actionnull です。

注釈

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

適用対象