beeravally
asked on
C# console application
hai,
i wnat write program for MQ Series(Series).for that what i must do.means which name space i must import,etc.give me one code.i;ve got one program here.in that program thay are using MQ name space.i am giving the code below.pls find the error.
using System;
namespace dinoch.demo
{
public class DotNetMqHello
{
private MQAX200.IMQQueueManager200 MyMqManager;
private MQAX200.IMQSession200 MyMqSession;
private MQAX200.IMQQueue200 MyMqQueue;
public DotNetMqHello()
{
MyMqSession = new MQAX200.MQSessionClass();
MyMqSession.ExceptionThres hold = 3;
}
public static void Main()
{
DotNetMqHello Hello= new DotNetMqHello();
Hello.DoIt();
}
private void DoIt()
{
DoConnect();
DoPut();
DoGet();
}
private void DoConnect()
{
int OpenOptions;
String qmName= ""; // use the default local Queue Mgr
Object obj = MyMqSession.AccessQueueMan ager(qmNam e);
if (!(obj is MQAX200.IMQQueueManager200 ) )
Console.WriteLine("Sorry! Could Not get a Queue Manager.");
else
{
Console.WriteLine("Yes! Got a Queue Manager.");
MyMqManager = (MQAX200.IMQQueueManager20 0) obj;
if (MyMqManager != null)
{
if(MyMqManager.IsConnected )
{
OpenOptions = (int) MQAX200.MQ.MQOO_INPUT_AS_Q _DEF + (int) MQAX200.MQ.MQOO_OUTPUT;
MyMqQueue = (MQAX200.IMQQueue200) MyMqManager.AccessQueue("p ostcard", OpenOptions,"","","");
if(MyMqQueue.IsOpen)
Console.WriteLine("Connect ed to " + MyMqManager.name + "." + MyMqQueue.name ) ;
}
}
}
}
private void DoPut()
{
MQAX200.IMQMessage200 Message;
MQAX200.IMQPutMessageOptio ns200 MessageOptions;
Message = (MQAX200.IMQMessage200) MyMqSession.AccessMessage( );
Message.WriteString(System .DateTime. Now.ToStri ng() + ": This is the test message" );
MessageOptions = (MQAX200.IMQPutMessageOpti ons200) MyMqSession.AccessPutMessa geOptions( );
MyMqQueue.ClearErrorCodes( );
MyMqQueue.Put(Message, MessageOptions);
if(MyMqQueue.CompletionCod e == 0)
Console.WriteLine("Put Succeeded.");
else if(MyMqQueue.CompletionCod e == 2)
Console.WriteLine("Put Failed (" + MyMqQueue.ReasonName + ")");
}
private void DoGet()
{
MQAX200.IMQMessage200 Message;
MQAX200.IMQGetMessageOptio ns200 MessageOptions;
Message = (MQAX200.IMQMessage200) MyMqSession.AccessMessage( );
MessageOptions = (MQAX200.IMQGetMessageOpti ons200) MyMqSession.AccessGetMessa geOptions( );
if(MyMqQueue.IsOpen)
{
MyMqQueue.ClearErrorCodes( );
// need to specify Missing.Value here because of an issue with the optional 3rd param (length)
MyMqQueue.Get(Message,Mess ageOptions , System.Reflection.Missing. Value);
if(MyMqQueue.CompletionCod e == 0)
{
Console.WriteLine("Get Succeeded.");
Console.WriteLine(Message. ReadString (Message.M essageLeng th));
}
else if(MyMqQueue.CompletionCod e == 2)
Console.WriteLine("Get Failed (" + MyMqQueue.ReasonName + ")");
}
}
} // end class
} // end namespace
i wnat write program for MQ Series(Series).for that what i must do.means which name space i must import,etc.give me one code.i;ve got one program here.in that program thay are using MQ name space.i am giving the code below.pls find the error.
using System;
namespace dinoch.demo
{
public class DotNetMqHello
{
private MQAX200.IMQQueueManager200
private MQAX200.IMQSession200 MyMqSession;
private MQAX200.IMQQueue200 MyMqQueue;
public DotNetMqHello()
{
MyMqSession = new MQAX200.MQSessionClass();
MyMqSession.ExceptionThres
}
public static void Main()
{
DotNetMqHello Hello= new DotNetMqHello();
Hello.DoIt();
}
private void DoIt()
{
DoConnect();
DoPut();
DoGet();
}
private void DoConnect()
{
int OpenOptions;
String qmName= ""; // use the default local Queue Mgr
Object obj = MyMqSession.AccessQueueMan
if (!(obj is MQAX200.IMQQueueManager200
Console.WriteLine("Sorry! Could Not get a Queue Manager.");
else
{
Console.WriteLine("Yes! Got a Queue Manager.");
MyMqManager = (MQAX200.IMQQueueManager20
if (MyMqManager != null)
{
if(MyMqManager.IsConnected
{
OpenOptions = (int) MQAX200.MQ.MQOO_INPUT_AS_Q
MyMqQueue = (MQAX200.IMQQueue200) MyMqManager.AccessQueue("p
if(MyMqQueue.IsOpen)
Console.WriteLine("Connect
}
}
}
}
private void DoPut()
{
MQAX200.IMQMessage200 Message;
MQAX200.IMQPutMessageOptio
Message = (MQAX200.IMQMessage200) MyMqSession.AccessMessage(
Message.WriteString(System
MessageOptions = (MQAX200.IMQPutMessageOpti
MyMqQueue.ClearErrorCodes(
MyMqQueue.Put(Message, MessageOptions);
if(MyMqQueue.CompletionCod
Console.WriteLine("Put Succeeded.");
else if(MyMqQueue.CompletionCod
Console.WriteLine("Put Failed (" + MyMqQueue.ReasonName + ")");
}
private void DoGet()
{
MQAX200.IMQMessage200 Message;
MQAX200.IMQGetMessageOptio
Message = (MQAX200.IMQMessage200) MyMqSession.AccessMessage(
MessageOptions = (MQAX200.IMQGetMessageOpti
if(MyMqQueue.IsOpen)
{
MyMqQueue.ClearErrorCodes(
// need to specify Missing.Value here because of an issue with the optional 3rd param (length)
MyMqQueue.Get(Message,Mess
if(MyMqQueue.CompletionCod
{
Console.WriteLine("Get Succeeded.");
Console.WriteLine(Message.
}
else if(MyMqQueue.CompletionCod
Console.WriteLine("Get Failed (" + MyMqQueue.ReasonName + ")");
}
}
} // end class
} // end namespace
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
What error do you get?