Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat menggunakan ekspresi untuk memanipulasi pesan dengan berbagai cara dalam orkestrasi Anda.
Merujuk ke kolom pesan
Anda dapat merujuk ke bidang khusus dalam pesan dengan menambahkan nama bidang ke nama pesan sebagai berikut:
MyMsg.Amount
Dalam contoh ini, MyMsg adalah pesan, dan Jumlah adalah bidang yang telah diidentifikasi sebagai bidang khusus untuk jenis pesan yang menjadi dasar MyMsg.
Menetapkan pesan dan bagian pesan
Anda dapat menetapkan sebuah pesan langsung ke pesan lain, atau bagian dari pesan ke bagian lain dari pesan.
MyMsg=IncomingMsg;
MyMsg.Invoice=IncomingMsg.Invoice;
Dalam contoh ini, Faktur adalah bagian pesan berdasarkan skema.
Jika Anda ingin mengubah properti pada pesan yang telah dibuat—seperti pesan yang telah diterima—Anda harus membuat pesan baru dengan menetapkan yang pertama ke yang kedua dalam bentuk Pesan Konstruksi, dan mengubah properti pada pesan baru dalam bentuk Pesan Konstruksi yang sama.
Nota
Anda tidak dapat merujuk atau menetapkan ke bidang pesan, seperti MyMsg.Invoice.MyField, kecuali telah dipromosikan; Anda hanya dapat merujuk atau menetapkan ke seluruh pesan, bagian pesan, properti pesan yang dipromosikan, atau bidang khusus.
Menambahkan bagian pesan
Anda dapat menambahkan bagian tambahan ke pesan multipart yang ada dengan menggunakan metode XLANGs.BaseTypes.XLANGMessage.AddPart . Untuk melakukannya, lakukan hal berikut:
Buat proyek C# dan tambahkan referensi ke Microsoft.XLANGs.BaseTypes.
Terapkan kelas publik yang mirip dengan yang berikut ini:
public class MyAddPartHelper { public static void AddPart(XLANGMessage msg, object part, String partName) { msg.AddPart(part, partName); } }Ada tiga metode kelebihan beban untuk Microsoft.XLANGs.BaseTypes.AddPart:
public void AddPart(object part, String partName); public void AddPart(XLANGPart part); public void AddPart(XLANGPart part, String partName);Dalam proyek BizTalk Anda, tambahkan referensi ke kelas publik dan panggil metode AddPart dari bentuk Ekspresi di orkestrasi Anda sebagai berikut:
MyAddPartHelper.AddPart(myMessage, myStringObject, “StringObject1”);
Nota
Anda tidak dapat menambahkan objek yang tidak dapat diserialisasikan atau objek terformat kustom sebagai bagian pesan. Semua bagian statis harus diinisialisasi sebelum menambahkan bagian tambahan menggunakan metode AddPart . Anda dapat menambahkan bagian arbitrer ke pesan hanya di dalam pernyataan konstruksi pesannya. Menambahkan bagian tambahan di luar pernyataan konstruksi pesan tidak didukung.
Mengambil bagian pesan
Anda dapat mengambil bagian pesan dari pesan multipart yang ada dengan menggunakan metode RetrieveAs dari Microsoft.XLANGs.BaseTypes. Untuk melakukannya, lakukan hal berikut:
Buat proyek C# dan tambahkan referensi ke Microsoft.XLANGs.BaseTypes.
Terapkan kelas publik yang mirip dengan yang berikut ini:
Public class MyAddPartHelper { public static Object GetPart(XLANGMessage msg, string sName, Type t) { XLANGPart p = msg[sName]; return p.RetrieveAs(t); } public static Object GetPart(XLANGMessage msg, int partIndex, Type t) { XLANGPart p = msg[partIndex]; return p.RetrieveAs(t); } }Nota
Metode RetrieveAs mendukung pengambilan bagian pesan berdasarkan nama dan menurut indeks.
Dalam proyek BizTalk Anda, tambahkan referensi ke kelas publik dan panggil metode GetPart dari bentuk Ekspresi di orkestrasi Anda sebagai berikut:
sPart = (System.String) MyAddPartHelper.GetPart(msg, "StringObject1" , typeof(System.String)); //sPart is a type of System.String sPart = (System.String) MyAddPartHelper.GetPart(msg, 1, typeof(System.String)); //Retriving the message part with index = 1
Akses properti konteks komponen pesan
Bagian pesan memiliki konteks terpisah dari konteks pesan. Anda dapat membuat properti konteks bagian pesan melalui editor skema saat Anda mengatur properti Basis Skema Properti untuk elemen terkait ke PartContextPropertyBase.
Aksesnya mirip dengan properti pesan, melalui ekspresi seperti:
Msg.PartName(myPartContextProperty)
Contohnya:
Str=Msg.PartName(myPartContextProperty); //assumes myPartContextProperty is of type string
Akses properti konteks XLANGMessage
Jika Anda ingin mengakses properti pesan dari antarmuka XLANGMessage dari kode Anda, Anda dapat meneruskan pesan sebagai parameter jenis Microsoft.XLANGs.BaseTypes.XLANGMessage ke metode dari bentuk Ekspresi, lalu menggunakan metode Microsoft.XLANGs.BaseTypes.XLANGMessageSetPropertyValue dan GetPropertyValue untuk mencapai hal ini. Untuk melakukannya, lakukan hal berikut:
Buat proyek C# dan tambahkan referensi ke Microsoft.XLANGs.BaseTypes dan Microsoft.BizTalk.GlobalPropertySchemas.
Akses properti konteks menggunakan kode yang mirip dengan di bawah ini:
MyMsg.GetPropertyValue(typeof(BTS.MessageID)); MyMsg.SetPropertyValue(typeof(MIME.IsMultipartRelated), true);
Nota
Jika Anda ingin mendapatkan atau mengatur properti konteks kustom Anda sendiri, Anda perlu menambahkan referensi ke proyek skema properti Anda atau menambahkan referensi ke rakitan berisi skema properti dalam proyek C# Anda.
Menetapkan ke properti pesan
Anda dapat menetapkan nilai ke properti pesan:
MyMessage(MySchemaNamespace.MyProperty)=True;
Di BizTalk Server, Anda dapat merujuk dan menetapkan nilai ke properti MIME dari pesan multi-bagian:
Message_Out.MessagePart_1(MIME.FileName)="document.doc";
Nota
Pesan BizTalk terdiri dari konteks pesan dan bagian pesan. Anda harus terlebih dahulu menginisialisasi bagian pesan sebelum Anda bisa mendapatkan atau mengatur properti konteks pesan apa pun; jika tidak, Anda akan menerima kesalahan selama waktu kompilasi XLANG.
Lihat Juga
Menggunakan Pesan dalam Orkestrasi
Membuat Pesan dalam Kode Pengguna