从远程服务器获取频道表文件

时间:2018-02-02 18:19:16

标签: java ftp ibm-mq

我尝试使用位于远程服务器中的ccdt文件设置ccdturl。我尝试使用ftp设置ccdt url,但它没有用。有谁知道在远程服务器中为ccdt文件设置url的正确方法是什么? 谢谢!

我试过了:

String channelTablePath = "ftp://user@host:/path-to-ccdt-file";
Url url = new URL(channelTablePath );
connectionFactory.setCCDTURL(url); 

我得到的错误是:

Exception in thread "main" javax.jms.JMSException: JMSWMQ2020: Failed to connect                                                                                              to queue manager '*QQ' with connection mode 'Client' and supplied CCDT URL 'ftp://user@host:/path/ccdt.tab',                                                                                              see linked exception for more information.
JMS Error code: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2278' ('MQRC_CLIENT_CONN_ERROR').
EXPLANATION:
The filesystem returned error code 'java.net.ConnectException[Connection timed
out]' for file 'ftp://user@host:/path/ccdt.tab'.
ACTION:
Record the name of the file 'ftp://user@host:/path/ccdt.tab'
and tell the systems administrator, who should ensure that file 'ftp://user@host:/path/ccdt.tab'
is correct and available.

1 个答案:

答案 0 :(得分:1)

要点:

在URL中的主机后面不应该有冒号(:)。如果需要,您应在URL中指定密码值。您还需要指定ccdt文件的名称。在本答案结尾处提及IBM Knowlege中心。

请尝试使用以下值:

String channelTablePath = "ftp://user:pass@host/path-to-ccdt-file/AMQCLCHL.TAB";

IBM MQ v9知识中心页面" Using a client channel definition table with IBM MQ classes for JMS"规定:

  

作为另一个示例,假设文件ccdt2.tab包含客户端   通道定义表,存储在不同的系统中   从运行应用程序的那个。如果文件可以   使用FTP协议访问,应用程序可以设置CCDTURL   财产以下列方式:

java.net.URL chanTab2 = new URL("ftp://ftp.server/admdata/ccdt2.tab");
factory.setCCDTURL(chanTab2);

IBM MQ v9知识中心页面" Web addressable access to the client channel definition table"显示了带有用户名和密码的FTP URL示例:

  

经过身份验证的连接

export MQCHLLIB=ftp://myuser:password@myhost.sample.com/var/mqm/qmgrs/QMGR/@ipcc
export MQCHLLIB=http://myuser:password@myhost.sample.com/var/mqm/qmgrs/QMGR/@ipcc
     

...

     

注意

     

如果要使用经过身份验证的连接,则必须与JMS一样,提供在URL中编码的用户名和密码