【发布时间】:2014-09-29 03:47:19
【问题描述】:
我正在尝试使用CCDT 文件中的信息连接到MQ。我目前可以使用所有详细信息连接到MQ,并在队列中获取和放入消息。
经过大量谷歌搜索后,我找不到任何允许我使用 CCDT 文件进行连接的示例代码。
我的一位同事将他的JMS 连接代码转发给我,但我无法将其移植到C#。
JAVA代码如下-
public class MQTest {
public static void main(String[] args) {
MQQueueManager queueManager = null;
URL ccdtFileUrl = null;
MQMessage mqMessage = null;
//MQPutMessageOptions myPMO = null
try {
String QM = "IB9QMGR";
String QUEUE1 = "TEST";
System.out.println("Starting MQClient Put Program: ");
ccdtFileUrl = new URL("file:///D:/AMQCLCHL.TAB") ;
ccdtFileUrl.openConnection();
queueManager = new MQQueueManager("SDCQMGR.T1", ccdtFileUrl);
System.out.println("Connected to QMGR ");
int openOptions = MQC.MQOO_OUTPUT;
MQQueue InQueue = queueManager.accessQueue(QUEUE1,openOptions,null,null,null);
MQMessage inMessage = new MQMessage();
inMessage.writeString("###Testing####");
InQueue.put(inMessage);
System.out.println("Message Id is :" + inMessage.messageId);
System.out.println(inMessage.toString());
InQueue.close();
queueManager.disconnect() ;
}
catch(MQException ex){
System.out.println("MQ Error - Reason code :" + ex.reasonCode);
}
catch (Exception e){
System.out.println("Error : " + e);
}
}
}
我使用URI(在 C# 中)来设置文件位置,而不是 URL。 (这可能被错误地使用了。不知道还能用什么。)
Uri ccdtFileUrl = new Uri("file:///D:/AMQCLCHL.TAB") ;
但我不能在 URI 上使用 openConnection()。还有,
queueManager = new MQQueueManager("SDCQMGR.T1",ccdtFileUrl);
给出参数重载异常。由于 C# 不支持 URI。
我尝试查找示例,但我找到了一些 JMS 示例,仅此而已。正在寻找一些示例代码以使用 C# 进行连接。
【问题讨论】: