.NET クラスとして表されるメッセージ
この方法ではまず、メッセージの種類を定義する .NET クラスを作成します。 このクラスには、既定のコンストラクターを指定する必要があります。指定しなかった場合、それを使用するオーケストレーションがコンパイルされません。 このようなクラスの簡単な例を次に示します。
using System;
using Microsoft.XLANGs.BaseTypes;
Using PropertyNamespace;
namespace NetClass
{
[Serializable]
public class MsgClass
{
public MsgClass()
{
StrField = "OK";
IntField = 1;
ShortField = 1;
}
[PropertyNamespace.ShortPropertyName]
public Int16 ShortField;
[PropertyAttribute(typeof(PropertyNamespace.StringPropertyName)]
[DistinguishedFieldAttribute()]
public String StrField;
[DistinguishedFieldAttribute()]
public int IntField;
}
}
上の例の ShortField は PropertyNamespace.ShortPropertyName 型のプロパティとなります。このプロパティの基になる型は、ShortField と同じ Int16 型である必要があります。 StrField は、識別フィールド、および PropertyNamespace.StringPropertyName 型のプロパティとなります。このプロパティの基になる型は、StrField と同じ String 型である必要があります。 通常、PropertyNamespace.StringPropertyName と PropertyNamespace.ShortPropertyName は、BizTalk スキーマ エディターを使用してスキーマ プロパティとして作成されます。C# プロジェクトでは、これらのスキーマ プロパティが含まれているアセンブリを参照する必要があります。
Note
C# プログラミング言語では、属性名の末尾の "Attribute" は省略可能です。したがって、末尾の "Attribute" を省略した "DistinguishedField" や "Property" を代わりに使用できます。 たとえば、オブジェクトに適用された
[Property(typeof(PropertyNamespace.StringPropertyName))]
[DistinguishedField]
public string StrField;
メッセージの種類をいったん定義したら、この種類のメッセージを新規作成するコードをオーケストレーションに記述するのは非常に簡単です。 メッセージの構築図形内で、単純な式を記述して、上に示した MsgClass 型の新しいメッセージを作成し、識別フィールドとして属性付けされたフィールドに値を割り当てます (既定値をオーバーライドする場合)。 MyMsg はオーケストレーション メッセージ変数で、種類は NetClass.MsgClass です。
MyMsg = new NetClass.MsgClass();
MyMsg.StrField = "Changed Value";
MyMsg.IntField = 15;
参照
XSD スキーマとして表されるメッセージ
XLANGMessage として表されるメッセージ
ユーザー コードでのメッセージの構築