

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using System.Xml;
namespace TibrvSender
{
public partial class MainForm : Form
{
#region Valiable
private string service = "";
private string network = "";
private string daemon = "";
private string targetSubject = "";
private string sourceSubject = "";
private SortedList<object, object> messageQueue;
private const string FIELD_NAME = "xmlData";
private TibrvListener tibrvListener;
private Thread dispatcher;
private TIBCO.Rendezvous.Listener listener;
private SortedList<object, object> reqMessageQueue;
TIBCO.Rendezvous.Transport transport = null;
#endregion
#region Main funtions
public MainForm()
{
CheckForIllegalCrossThreadCalls = false;
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e){}
private void InitializeTibrv()
{
this.messageQueue = new SortedList<object, object>();
try
{
TIBCO.Rendezvous.Environment.Open();
}
catch (TIBCO.Rendezvous.RendezvousException e)
{
return;
}
try
{
this.transport = new TIBCO.Rendezvous.NetTransport(this.service, this.network, this.daemon);
}
catch (TIBCO.Rendezvous.RendezvousException e)
{
return;
}
try
{
this.listener = new TIBCO.Rendezvous.Listener(TIBCO.Rendezvous.Environment.DefaultQueue, this.transport, sourceSubject, null);
this.listener.MessageReceived += new TIBCO.Rendezvous.MessageReceivedEventHandler(listener_MessageReceived);
this.dispatcher = new Thread(new ThreadStart(Run));
this.dispatcher.Start();
this.textBoxService.Enabled = false;
this.textBoxNetwork.Enabled = false;
this.textBoxDaemon.Enabled = false;
this.textBoxTargetSubject.Enabled = false;
this.textBoxSourceSubject.Enabled = false;
this.ConnectBox.BackColor = Color.Lime;
this.ConnectBox.Text = "Connected";
WriteView(string.Format("Initialize Success!"));
}
catch (TIBCO.Rendezvous.RendezvousException e)
{
return;
}
}
private void FinalizeTibrv()
{
try
{
if (this.listener != null)
{
this.listener.MessageReceived -= new TIBCO.Rendezvous.MessageReceivedEventHandler(listener_MessageReceived);
this.listener.Destroy();
this.listener = null;
}
if (this.transport != null)
{
this.transport.Destroy();
this.transport = null;
}
if (this.messageQueue != null)
{
this.messageQueue.Clear();
this.messageQueue = null;
}
if (this.dispatcher != null)
{
this.dispatcher.Join(1000);
this.dispatcher = null;
}
TIBCO.Rendezvous.Environment.Close();
WriteView("Tibrv finalization succeeded");
this.ConnectBox.Text = "DisConnected";
this.ConnectBox.BackColor = Color.Red;
this.textBoxService.Enabled = true;
this.textBoxNetwork.Enabled = true;
this.textBoxDaemon.Enabled = true;
this.textBoxTargetSubject.Enabled = true;
this.textBoxSourceSubject.Enabled = true;
}
catch (TIBCO.Rendezvous.RendezvousException exception)
{
System.Environment.Exit(1);
}
catch (Exception ex)
{
WriteView(ex.Message);
WriteView(ex.StackTrace);
System.Environment.Exit(1);
}
}
private void Run()
{
while (this.dispatcher != null && this.dispatcher.IsAlive)
{
try
{
TIBCO.Rendezvous.Environment.DefaultQueue.Dispatch();
Thread.Sleep(100);
}
catch { }
}
}
private void Send(string message)
{
TIBCO.Rendezvous.Message tibMessage = new TIBCO.Rendezvous.Message();
try
{
if (string.IsNullOrEmpty(targetSubject))
{
WriteView("Initialize Tibrv");
return;
}
tibMessage.SendSubject = targetSubject;
if (string.IsNullOrEmpty(sourceSubject))
{
WriteView("Initialize Tibrv");
return;
}
tibMessage.ReplySubject = sourceSubject;
tibMessage.AddField(FIELD_NAME, message);
transport.Send(tibMessage);
}
catch (TIBCO.Rendezvous.RendezvousException exception)
{
System.Environment.Exit(1);
}
WriteView(string.Format("Publishing: subject={0} \"{1}\"", tibMessage.SendSubject, message));
tibMessage.Dispose();
}
private void SendReply(string message, string replySubject)
{
TIBCO.Rendezvous.Message tibMessage = new TIBCO.Rendezvous.Message();
try
{
if (string.IsNullOrEmpty(replySubject))
{
WriteView("Initialize Tibrv");
return;
}
tibMessage.SendSubject = replySubject;
if (string.IsNullOrEmpty(sourceSubject))
{
WriteView("Initialize Tibrv");
return;
}
tibMessage.ReplySubject = sourceSubject;
tibMessage.AddField(FIELD_NAME, message);
transport.Send(tibMessage);
}
catch (TIBCO.Rendezvous.RendezvousException exception)
{
System.Environment.Exit(1);
}
WriteView(string.Format("Publishing: subject={0} \"{1}\"", tibMessage.SendSubject, message));
tibMessage.Dispose();
}
void listener_MessageReceived(object listener, TIBCO.Rendezvous.MessageReceivedEventArgs messageReceivedEventArgs)
{
try
{
TIBCO.Rendezvous.MessageField messageField = messageReceivedEventArgs.Message.GetFieldByIndex(0);
string receivedMessage = ((string)messageField.Value).Trim();
if (replyFlag.Checked)
{
string replySubject = messageReceivedEventArgs.Message.ReplySubject;
//XmlDocument xdoc = new XmlDocument();
//xdoc.LoadXml(receivedMessage);
// xmlItem = xdoc.SelectSingleNode("//Message//Body//JOBNAME");
//XmlNode xmlItem2 = xdoc.SelectSingleNode("//Message//Header//ORIGINALSOURCESUBJECTNAME");
//string newJobName = xmlItem.InnerText.ToString();
//string newOriginName = xmlItem2.InnerText.ToString();
//receivedMessage = this.txtSend.Text;
//XmlDocument xdoc1 = new XmlDocument();
//xdoc1.LoadXml(receivedMessage);
//XmlNode xmlItem1 = xdoc1.SelectSingleNode("//Message//Body//JOBNAME");
//XmlNode xmlItem3 = xdoc1.SelectSingleNode("//Message//Header//ORIGINALSOURCESUBJECTNAME");
//string oldJobName = xmlItem1.InnerText.ToString();
//string oldOriginName = xmlItem3.InnerText.ToString();
//receivedMessage = receivedMessage.Replace(oldJobName, newJobName);
//receivedMessage = receivedMessage.Replace(oldOriginName, newOriginName);
receivedMessage = this.txtSend.Text;
SendReply(receivedMessage, replySubject);
}
WriteView(string.Format("Publishing: subject={0} \"{1}\"", targetSubject, receivedMessage));
}
catch (TIBCO.Rendezvous.RendezvousException exception)
{
System.Environment.Exit(1);
}
}
void OnMessageReceived(object listener, TIBCO.Rendezvous.MessageReceivedEventArgs messageReceivedEventArgs)
{
tibrvListener.OnMessage(messageReceivedEventArgs.Message);
}
#endregion
#region etc funtions
private void WriteView(string message)
{
if (txtView.TextLength > 10000) txtView.Clear();
txtView.AppendText(message + System.Environment.NewLine);
txtView.ScrollToCaret();
}
#endregion
#region Events
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
FinalizeTibrv();
}
private void btnSend_Click(object sender, EventArgs e)
{
if (txtSend.Text == "")
{
WriteView("Enter Tibrv Massage");
return;
}
if (replyFlag.Checked)
{
MessageBox.Show("Reply Flag is Enabled.");
return;
}
string[] msgList = txtSend.Text.Split(';');
int i = 0;
foreach (string message in msgList)
{
Send(message.Trim());
WriteView((++i).ToString());
Thread.Sleep(2000);
}
}
private void txtSend_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
btnSend_Click(null, null);
e.Handled = true;
}
}
private void buttonInitialize_Click(object sender, EventArgs e)
{
targetSubject = textBoxTargetSubject.Text.Trim();
sourceSubject = this.textBoxSourceSubject.Text.Trim();
if (string.IsNullOrEmpty(targetSubject)) { WriteView("Enter targetSubject"); return; }
if (string.IsNullOrEmpty(sourceSubject)) { WriteView("Enter sourceSubject"); return; }
WriteView("Initializing Tibrv....");
service = textBoxService.Text.Trim();
network = textBoxNetwork.Text.Trim();
daemon = textBoxDaemon.Text.Trim();
InitializeTibrv();
}
private void buttonTerminate_Click(object sender, EventArgs e)
{
FinalizeTibrv();
}
private void clearLogToolStripMenuItem_Click(object sender, EventArgs e)
{
txtView.Clear();
}
private void clearMessegeToolStripMenuItem_Click(object sender, EventArgs e)
{
txtSend.Clear();
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace TibrvSender
{
static class Program
{
/// <summary>
/// 해당 응용 프로그램의 주 진입점입니다.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}
using System;
using System.Collections.Generic;
namespace TibrvSender
{
public class TibrvAdapter : TibrvListener
{
private List<TibrvListener> tibrvListener = new List<TibrvListener>();
private TibrvManager tibrvManager;
public TibrvAdapter()
{
this.tibrvManager = new TibrvManager(this);
}
public void AddTibrvListener(TibrvListener tibrvListener)
{
this.tibrvListener.Add(tibrvListener);
}
public void RemoveTibrvListener(TibrvListener tibrvListener)
{
this.tibrvListener.Remove(tibrvListener);
}
public bool Initialize(string sourceSubject, string targetSubject, string service, string network, string daemon)
{
try
{
if (this.tibrvManager.Initialize(sourceSubject, targetSubject, service, network, daemon))
{
return true;
}
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool Initialize(string fieldKey, string sourceSubject, string targetSubject, string service, string network, string daemon)
{
try
{
if (this.tibrvManager.Initialize(fieldKey, sourceSubject, targetSubject, service, network, daemon))
{
return true;
}
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool Terminate()
{
try
{
if (this.tibrvManager.Terminate())
{
return true;
}
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
//public TIBCO.Rendezvous.Message RequestSync(string targetSubject, string message, double timeout)
//{
// try
// {
// targetSubject = GetTargetSubject(targetSubject);
// TIBCO.Rendezvous.Message replyMessage = this.tibrvManager.SendRequest(targetSubject, message, timeout);
// if (replyMessage == null)
// return replyMessage;
// }
// catch (Exception e)
// {
// return null;
// }
//}
//public TIBCO.Rendezvous.Message RequestSync(string targetSubject, SortedList<object, object> messages, double timeout)
//{
// try
// {
// targetSubject = GetTargetSubject(targetSubject);
// TIBCO.Rendezvous.Message replyMessage = this.tibrvManager.SendRequest(targetSubject, messages, timeout);
// if (replyMessage == null)
// return replyMessage;
// }
// catch (Exception e)
// {
// return null;
// }
//}
//public TIBCO.Rendezvous.Message RequestSync(string targetSubject, TIBCO.Rendezvous.Message message, double timeout)
//{
// try
// {
// targetSubject = GetTargetSubject(targetSubject);
// TIBCO.Rendezvous.Message replyMessage = this.tibrvManager.SendRequest(targetSubject, message, timeout);
// if (replyMessage == null)
// return replyMessage;
// }
// catch (Exception e)
// {
// return null;
// }
//}
public bool RequestAsync(string targetSubject, string message)
{
try
{
targetSubject = GetTargetSubject(targetSubject);
if (this.tibrvManager.Send(targetSubject, message))
return true;
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool RequestAsync(string targetSubject, SortedList<object, object> messages)
{
try
{
targetSubject = GetTargetSubject(targetSubject);
if (this.tibrvManager.Send(targetSubject, messages))
return true;
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool RequestAsync(string targetSubject, TIBCO.Rendezvous.Message message)
{
try
{
targetSubject = GetTargetSubject(targetSubject);
if (this.tibrvManager.Send(targetSubject, message))
return true;
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool ReplySync(string targetSubject, TIBCO.Rendezvous.Message message, string reply)
{
try
{
targetSubject = GetTargetSubject(targetSubject);
if (this.tibrvManager.SendReplySync(targetSubject, message, reply))
return true;
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool ReplySync(string targetSubject, TIBCO.Rendezvous.Message message, SortedList<object, object> replys)
{
try
{
targetSubject = GetTargetSubject(targetSubject);
if (this.tibrvManager.SendReplySync(targetSubject, message, replys))
return true;
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool ReplySync(string targetSubject, TIBCO.Rendezvous.Message message, TIBCO.Rendezvous.Message reply)
{
try
{
targetSubject = GetTargetSubject(targetSubject);
if (this.tibrvManager.SendReplySync(targetSubject, message, reply))
return true;
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool ReplyAsync(string targetSubject, string reply)
{
try
{
targetSubject = GetTargetSubject(targetSubject);
if (this.tibrvManager.SendReplyAsync(targetSubject, reply))
return true;
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool ReplyAsync(string targetSubject, SortedList<object, object> replys)
{
try
{
targetSubject = GetTargetSubject(targetSubject);
if (this.tibrvManager.SendReplyAsync(targetSubject, replys))
return true;
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool ReplyAsync(string targetSubject, TIBCO.Rendezvous.Message reply)
{
try
{
targetSubject = GetTargetSubject(targetSubject);
if (this.tibrvManager.SendReplyAsync(targetSubject, reply))
return true;
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
void TibrvListener.OnMessage(TIBCO.Rendezvous.Message message)
{
try
{
foreach (TibrvListener tibrvlistener in this.tibrvListener)
{
tibrvlistener.OnMessage(message);
}
}
catch (Exception e)
{
}
}
private string GetTargetSubject(string targetSubject)
{
if (String.IsNullOrEmpty(targetSubject))
return this.tibrvManager.TargetSubject;
else
return targetSubject;
}
}
}
namespace TibrvSender
{
public interface TibrvListener
{
void OnMessage(TIBCO.Rendezvous.Message message);
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
namespace TibrvSender
{
public class TibrvManager
{
private const string DEFAULT_FIELD_KEY = "xmlData";
private TibrvListener tibrvListener;
// tibrv parameter
private string fieldKey;
private string sourceSubejct;
private string targetSubject;
private string service;
private string network;
private string daemon;
private SortedList<object, object> messageQueue;
private Thread dispatcher;
private TIBCO.Rendezvous.Transport transport;
private TIBCO.Rendezvous.Listener listener;
public TibrvManager(TibrvListener tibrvListener)
{
this.tibrvListener = tibrvListener;
}
#region property
public string SourceSubject
{
get { return sourceSubejct; }
}
public string TargetSubject
{
get { return targetSubject; }
}
public string Service
{
get { return service; }
}
public string Network
{
get { return network; }
}
private string Daemon
{
get { return daemon; }
}
#endregion
public bool Initialize(string sourceSubject, string targetSubject, string service, string network, string daemon)
{
this.fieldKey = DEFAULT_FIELD_KEY;
this.sourceSubejct = sourceSubject;
this.targetSubject = targetSubject;
this.service = service;
this.network = network;
this.daemon = daemon;
this.messageQueue = new SortedList<object, object>();
// Open TIBCO.Rendezvous.Environment
try
{
TIBCO.Rendezvous.Environment.Open();
}
catch (TIBCO.Rendezvous.RendezvousException e)
{
return false;
}
// Create TIBCO.Rendezvous.NetTransport
try
{
this.transport = new TIBCO.Rendezvous.NetTransport(this.service, this.network, this.daemon);
}
catch (TIBCO.Rendezvous.RendezvousException e)
{
return false;
}
// Create TIBCO.Rendezvous.Listener using default queue
try
{
this.listener = new TIBCO.Rendezvous.Listener(TIBCO.Rendezvous.Environment.DefaultQueue, this.transport, this.sourceSubejct, null);
this.listener.MessageReceived += new TIBCO.Rendezvous.MessageReceivedEventHandler(listener_MessageReceived);
this.dispatcher = new Thread(new ThreadStart(Run));
this.dispatcher.Start();
}
catch (TIBCO.Rendezvous.RendezvousException e)
{
return false;
}
return true;
}
public bool Initialize(string fieldKey, string sourceSubject, string targetSubject, string service, string network, string daemon)
{
this.fieldKey = fieldKey;
this.sourceSubejct = sourceSubject;
this.targetSubject = targetSubject;
this.service = service;
this.network = network;
this.daemon = daemon;
this.messageQueue = new SortedList<object, object>();
// Open TIBCO.Rendezvous.Environment
try
{
TIBCO.Rendezvous.Environment.Open();
}
catch (TIBCO.Rendezvous.RendezvousException e)
{
return false;
}
// Create TIBCO.Rendezvous.NetTransport
try
{
this.transport = new TIBCO.Rendezvous.NetTransport(this.service, this.network, this.daemon);
}
catch (TIBCO.Rendezvous.RendezvousException e)
{
return false;
}
// Create TIBCO.Rendezvous.Listener using default queue
try
{
this.listener = new TIBCO.Rendezvous.Listener(TIBCO.Rendezvous.Environment.DefaultQueue, this.transport, this.sourceSubejct, null);
this.listener.MessageReceived += new TIBCO.Rendezvous.MessageReceivedEventHandler(listener_MessageReceived);
this.dispatcher = new Thread(new ThreadStart(Run));
this.dispatcher.Start();
}
catch (TIBCO.Rendezvous.RendezvousException e)
{
return false;
}
return true;
}
public bool Terminate()
{
try
{
if (this.listener != null)
{
this.listener.MessageReceived -= new TIBCO.Rendezvous.MessageReceivedEventHandler(listener_MessageReceived);
this.listener.Destroy();
this.listener = null;
}
if (this.transport != null)
{
this.transport.Destroy();
this.transport = null;
}
if (this.messageQueue != null)
{
this.messageQueue.Clear();
this.messageQueue = null;
}
if (this.dispatcher != null)
{
this.dispatcher.Join(1000);
this.dispatcher = null;
}
TIBCO.Rendezvous.Environment.Close();
return true;
}
catch (Exception e)
{
return false;
}
}
private void Run()
{
while (this.dispatcher != null && this.dispatcher.IsAlive)
{
try
{
TIBCO.Rendezvous.Environment.DefaultQueue.Dispatch();
Thread.Sleep(100);
}
catch { }
}
}
void listener_MessageReceived(object listener, TIBCO.Rendezvous.MessageReceivedEventArgs messageReceivedEventArgs)
{
try
{
this.tibrvListener.OnMessage(messageReceivedEventArgs.Message);
}
catch { }
}
public bool Send(string targetSubject, string message)
{
try
{
TIBCO.Rendezvous.Message tibrvMessage = new TIBCO.Rendezvous.Message();
tibrvMessage.SendSubject = targetSubject;
tibrvMessage.ReplySubject = this.sourceSubejct;
tibrvMessage.AddField(this.fieldKey, message);
this.transport.Send(tibrvMessage);
return true;
}
catch (Exception e)
{
return false;
}
}
public bool Send(string targetSubject, SortedList<object, object> messages)
{
try
{
if (messages == null)
{
return false;
}
if (messages.Count > 0)
{
TIBCO.Rendezvous.Message tibrvMessage = new TIBCO.Rendezvous.Message();
tibrvMessage.SendSubject = targetSubject;
tibrvMessage.ReplySubject = this.sourceSubejct;
for (int i = 0; i < messages.Count; i++)
{
string fieldKey = (string)messages.Keys[i];
if (String.IsNullOrEmpty(fieldKey))
tibrvMessage.AddField(this.fieldKey, messages.Values[i].ToString());
else
tibrvMessage.AddField(fieldKey, messages.Values[i].ToString());
}
this.transport.Send(tibrvMessage);
return true;
}
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool Send(string targetSubject, TIBCO.Rendezvous.Message message)
{
try
{
message.SendSubject = targetSubject;
message.ReplySubject = this.sourceSubejct;
this.transport.Send(message);
return true;
}
catch (Exception e)
{
return false;
}
}
public TIBCO.Rendezvous.Message SendRequest(string targetSubject, string message, double timeout)
{
try
{
TIBCO.Rendezvous.Message tibrvMessage = new TIBCO.Rendezvous.Message();
tibrvMessage.SendSubject = targetSubject;
tibrvMessage.ReplySubject = this.sourceSubejct;
tibrvMessage.AddField(this.fieldKey, message);
TIBCO.Rendezvous.Message replyMessage = this.transport.SendRequest(tibrvMessage, timeout);
return replyMessage;
}
catch (Exception e)
{
return null;
}
}
public TIBCO.Rendezvous.Message SendRequest(string targetSubject, SortedList<object, object> messages, double timeout)
{
try
{
if (messages == null)
{
return null;
}
if (messages.Count > 0)
{
TIBCO.Rendezvous.Message tibrvMessage = new TIBCO.Rendezvous.Message();
tibrvMessage.SendSubject = targetSubject;
tibrvMessage.ReplySubject = this.sourceSubejct;
for (int i = 0; i < messages.Count; i++)
{
string fieldKey = (string)messages.Keys[i];
if (fieldKey == null)
{
tibrvMessage.AddField(this.fieldKey, messages.Values[i].ToString());
}
else
{
tibrvMessage.AddField(fieldKey, messages.Values[i].ToString());
}
}
TIBCO.Rendezvous.Message replyMessage = this.transport.SendRequest(tibrvMessage, timeout);
return replyMessage;
}
else
{
return null;
}
}
catch (Exception e)
{
return null;
}
}
public TIBCO.Rendezvous.Message SendRequest(string targetSubject, TIBCO.Rendezvous.Message message, double timeout)
{
try
{
message.SendSubject = targetSubject;
message.ReplySubject = this.sourceSubejct;
TIBCO.Rendezvous.Message replyMessage = this.transport.SendRequest(message, timeout);
return replyMessage;
}
catch (Exception e)
{
return null;
}
}
public bool SendReplyAsync(string targetSubject, string message)
{
try
{
if (this.messageQueue.Count > 0)
{
TIBCO.Rendezvous.Message tibrvMessage = new TIBCO.Rendezvous.Message();
tibrvMessage.SendSubject = targetSubject;
tibrvMessage.ReplySubject = this.sourceSubejct;
tibrvMessage.AddField(this.fieldKey, message);
this.transport.SendReply(tibrvMessage, (TIBCO.Rendezvous.Message)this.messageQueue.Values[0]);
this.messageQueue.Remove(this.messageQueue.Keys[0]);
return true;
}
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool SendReplyAsync(string targetSubject, SortedList<object, object> messages)
{
try
{
if (this.messageQueue.Count == 0)
{
return false;
}
if (messages == null)
{
return false;
}
if (messages.Count > 0)
{
TIBCO.Rendezvous.Message tibrvMessage = new TIBCO.Rendezvous.Message();
tibrvMessage.SendSubject = targetSubject;
tibrvMessage.ReplySubject = this.sourceSubejct;
for (int i = 0; i < messages.Count; i++)
{
string fieldKey = (string)messages.Keys[i];
if (String.IsNullOrEmpty(fieldKey))
{
tibrvMessage.AddField(this.fieldKey, messages.Values[i].ToString());
}
else
{
tibrvMessage.AddField(fieldKey, messages.Values[i].ToString());
}
}
this.transport.SendReply(tibrvMessage, (TIBCO.Rendezvous.Message)this.messageQueue.Values[0]);
this.messageQueue.Remove(this.messageQueue.Keys[0]);
return true;
}
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
public bool SendReplyAsync(string targetSubject, TIBCO.Rendezvous.Message message)
{
try
{
if (this.messageQueue.Count == 0)
{
return false;
}
message.SendSubject = targetSubject;
message.ReplySubject = this.sourceSubejct;
this.transport.SendReply(message, (TIBCO.Rendezvous.Message)this.messageQueue.Values[0]);
this.messageQueue.Remove(this.messageQueue.Keys[0]);
return true;
}
catch (Exception e)
{
return false;
}
}
// Implement or not
public bool SendReplySync(string targetSubject, TIBCO.Rendezvous.Message message, string reply)
{
return false;
}
public bool SendReplySync(string targetSubject, TIBCO.Rendezvous.Message message, SortedList<object, object> replys)
{
return false;
}
public bool SendReplySync(string targetSubject, TIBCO.Rendezvous.Message message, TIBCO.Rendezvous.Message reply)
{
return false;
}
public TIBCO.Rendezvous.Opaque ConvertStringToByteArray(string data)
{
try
{
ASCIIEncoding ascii = new ASCIIEncoding();
TIBCO.Rendezvous.Opaque opaque = new TIBCO.Rendezvous.Opaque();
if (String.IsNullOrEmpty(data))
opaque.Value = new byte[1];
else
opaque.Value = ascii.GetBytes(data);
return opaque;
}
catch (Exception e)
{
return null;
}
}
}
}