- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Delphi 中编写一个应用程序来连接到远程 MQ 服务器并获取消息。
我在我的电脑上安装了 MQ 服务器并编写了一个测试应用程序。
一切正常 连接、打开、放置、获取...一切正常。
然后我尝试通过更改地址连接到远程 MQ,它可以工作但不正确,它仍然可以与本地 MQ 一起使用并从本地获取信息。没有切换到其他远程服务器!!!
我的来源如下,我应该做什么?谢谢
var
QMgrName : MQCHAR48;
ConnectOpts : TMQCNO;
ClientConn : TMQCD;
Compcode : MQLONG;
Reason : MQLONG;
begin
StrPCopy(QMgrName, AQueueManager+#0);
ConnectOpts.StrucId := MQCNO_STRUC_ID;
ConnectOpts.Version := MQCNO_VERSION_1;
ConnectOpts.Options := MQCNO_STANDARD_BINDING;
ConnectOpts.ClientConnOffset := 0;
ConnectOpts.ClientConnPtr := @ClientConn;
with ClientConn do begin
StrPCopy(ClientConn.ConnectionName, format('%s(%s)'#0, [AIP,APort]));
Version := MQCD_VERSION_6;
ChannelType := MQCHT_CLNTCONN;
TransportType := MQXPT_TCP;
Desc := '';
QMgrName := '';
XmitQName := '';
ShortConnectionName := '';
MCAName := '';
ModeName := '';
TpName := '';
BatchSize := 50;
DiscInterval := 6000;
ShortRetryCount := 10;
ShortRetryInterval := 60;
LongRetryCount := 999999999;
LongRetryInterval := 1200;
SecurityExit := '';
MsgExit := '';
SendExit := '';
ReceiveExit := '';
SeqNumberWrap := 999999999;
MaxMsgLength := 4194304;
PutAuthority := MQPA_DEFAULT;
DataConversion := MQCDC_NO_SENDER_CONVERSION;
SecurityUserData := '';
MsgUserData := '';
SendUserData := '';
ReceiveUserData := '';
UserIdentifier := '';
Password := '';
MCAUserIdentifier := '';
MCAType := MQMCAT_PROCESS;
ConnectionName := '';
RemoteUserIdentifier := '';
RemotePassword := '';
MsgRetryExit := '';
MsgRetryUserData := '';
MsgRetryCount := 10;
MsgRetryInterval := 1000;
HeartbeatInterval := 1;
BatchInterval := 0;
NonPersistentMsgSpeed := MQNPMS_FAST;
StrucLength := MQCD_LENGTH_6;
ExitNameLength := MQ_EXIT_NAME_LENGTH;
ExitDataLength := MQ_EXIT_DATA_LENGTH;
MsgExitsDefined := 0;
SendExitsDefined := 0;
ReceiveExitsDefined := 0;
MsgExitPtr := nil;
MsgUserDataPtr := nil;
SendExitPtr := nil;
SendUserDataPtr := nil;
ReceiveExitPtr := nil;
ReceiveUserDataPtr := nil;
ClusterPtr := nil;
ClustersDefined := 0;
NetworkPriority := 0;
LongMCAUserIdLength := 0;
LongRemoteUserIdLength := 0;
LongMCAUserIdPtr := nil;
LongRemoteUserIdPtr := nil;
// MCASecurityId := MQSID_NONE_ARRAY;
// RemoteSecurityId := MQSID_NONE_ARRAY;
end;
MQCONNX(@QMgrName, ConnectOpts, HConn,Compcode,Reason);
if CompCode <> MQCC_OK then
raise Exception.Create(format('MQCONNX Fail, Completion Code: %d, Reason: %d',[CompCode,Reason]));
最佳答案
代码片段不显示uses
语句。根据the MA7Q docs ,
The SupportPac contains two files called 'MQI.PAS' and 'MQIC.PAS'. These are Pascal sources that should be placed somewhere in the Search Path of Delphi to be included in your Pascal program. The way to include it is like using any unit in Pascal:
uses MQI;
or
uses MQIC;
MQI
是绑定(bind)模式(共享内存)连接,MQIC
是通过网络堆栈的客户端连接。
可以同时使用两者并让应用程序在运行时决定使用哪一个。根据WMQ Infocenter :
If you are linking to the mqm library, then a standard server connection using the default bind type is attempted first. If the underlying server library failed to load, a client connection is attempted instead.
这表明您在路径中拥有两个库,并且连接首先查找本地 QMgr 并忽略客户端连接参数,或者您可能在需要 MQIC 库的地方使用 MQI 库。确保 MQIC 库位于路径中并更改您的 uses
语句。
如果单独切换库无法解决问题,请考虑指定 MQCNO_CLIENT_BINDING
而不是 MQCNO_STANDARD_BINDING
。
关于Delphi WebSphere MQ 远程连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14457693/
我们正在构建一个以 Websphere 7 作为目标环境的 web 应用程序,它使用 CXF 连接到 web 服务。我们已经使用 Jetty 在本地完成了测试,一切顺利。我们现在正在尝试在 Websp
我是一名 Java 程序员,想要开始使用 Websphere 应用程序服务器。有人可以建议一些好的介绍吗?书籍/文章/链接等 最佳答案 IBM 的红皮书是很好的入门资源,还有另一篇关于 IBM 开发人
我试图在 Websphere LP server.xml 文件中映射我的服务器公共(public) IP 地址,但是当我尝试从外部访问它时,出现连接错误。我尝试给 host="localhost"并尝
我试图在 Websphere LP server.xml 文件中映射我的服务器公共(public) IP 地址,但是当我尝试从外部访问它时,出现连接错误。我尝试给 host="localhost"并尝
在将应用程序从单个 Websphere Application Server 迁移到 Websphere 集群之前,我们应该注意什么 最佳答案 这是我根据经验列出的 list 。它并不完整,但应涵盖最
我已经为 WebSphere 中的容器设置了一些自定义属性,但我不知道如何读取这些属性。我试过 System.getProperty(...),但它是空的。 我看过对 JMX 的引用,但想知道是否有明
我目前正在研究 IBM Websphere Application Server 和 IBM Websphere Process Server 之间的区别? 我知道 Process Server 就像
我正在处理一个应用程序,它需要知道它是在 WAS 上运行还是在 Liberty Profile 上运行。 在 WAS 上,它必须调用 Admin API,但在 Liberty Profile 上,它必
我很难解决“找不到委托(delegate)人...”的问题。我阅读了所有文章,但我已成功将 ear 文件安装到 WAS 8.5 中。 此应用程序要求最终用户进行 LDAP 身份验证才能登录。我的 LD
我正在开发许多用于管理 WAS 基础设施的脚本,我觉得 IBM 的某个人搞砸了 wsadmin故意。这不可能是意外。 这是一个“简单”的例子: for node in AdminConfig.list
我删除了 C:\Program Files (x86)\IBM\WebSphere\AppServer\profiles 中的配置文件,它仍然显示在配置文件管理工具中,如何删除配置文件管理工具中的配置
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 8 年前。 Improv
我有一个 WebSphere 应用程序服务器 8,我在其中部署了一个企业应用程序。现在我想让该应用程序的 Web GUI 可以访问。因此,我设置了一个端口 (9080),添加了一个 Web 容器传输链
是否可以用 Weld 替换 WebSphere 8 的 CDI 提供程序 (OpenWebBeans)?如果做不到这一点,是否有任何方法可以在 WebSphere 中完全禁用 CDI? 我为什么需要这
我有一个带有@local 和@remote 注释的无状态EJB SessionBean。该代码在 weblogic 服务器中运行良好。但是,将其部署到 Websphere 时会出现以下异常。 bm.e
我们正在尝试安装 Websphere 应用程序服务器的补丁。但已经获得了 Websphere 商务服务器的说明。所以只是想知道两者是否相同并且可以应用相同的指令。 我们是否需要 root 访问权限来执
我已经安装了 WebSphere Liberty 配置文件 8.5 。我可以使用 http://localhost:9080 访问 WebSphere 服务器 但不确定如何启动 Admin Conso
我在 WebSphere 应用程序服务器上将一个依赖 jar 扔到我爆炸的 EAR 中。我需要停止/启动 EAR 才能让 WS 执行新代码。有没有办法从命令行执行此操作? 最佳答案 尝试运行这样的东西
我全新安装了 Wesphere 6.1 Fixpack 23。我部署了一个需要 MQSeries JMS 队列的应用程序。我设置了一个基于 MQSeries 提供者的请求和回复队列以及一个基于 MQS
session 超时后是否可以将用户带到自定义网页?在 websphere 中要设置的参数是什么? 最佳答案 我不知道 WAS 中有这样的设置。 我认为您最好的机会是实现 Filter这将检查 ses
我是一名优秀的程序员,十分优秀!