一:路径错误(Path)错误

如果向远程服务器发送消息,请使用格式名的形式,如:

FormatName:Direct=TCP:121.0.0.1\\private$\\queue
FormatName:Direct=OS:machinename\\private$\\queuename
FormatName:DIRECT=http://222.10.xx.xx/msmq/Private$/test
注意一:FontName是区分大小写的。如果表达式为“FORMATNAME:Dire......”,是无法工作的。
但这种表达式不会返回任何错误。FontName好像是表达式里唯一区分大小写的部分。
其他部分可以随意使用大小写,例如可以使用“DIRECT”。
注意二:如果远程服务器为域中的服务器,则可使用Direct=OS:machinename\Private$\...的形式发送消息。
如果远程服务器为非域中的服务器,则可以使用TCP或http的形式发送。

二:当服务器为非事务型队列的时候,如果你使用了事务发送,也会有错误

环境说明:向远程服务器发送消息的时候,远程服务器使用的是http的格式,
并且为非事务型,如:FormatName:DIRECT=http://222.10.xx.xx/msmq/Private$/test
在我们的程序中启用了事务向服务器发送消息。结构程序没有任何错误,查看本机的传出队列,如下图:

解决方法:我们队程序测试检查了很久,最终改为非事务发送方式可正常发送到服务器。

注意:首先确定远程服务器的队列是事务型还是非事务型队列,然后发送程序一定要和远程队列匹配,不然消息无法送达,并且也没有任何的错误提示.

三:向远程服务器发送消息,消息状态:正在等待连接

网络情况是这样的,测试用的机子都安装了msmq组件,且都是在工作组模式下工作,两个机子同在一个局域网内,具有同样的网段。
我往本机专用消息队列中收发消息都能成功,且往本机专用消息队列发送消息,另一台机器从我机子上的专用消息队列中也能正确接收消息,
就是我往另一台机子的消息队列发送消息的时候,消息队列打开成功,消息发送也成功,就是消息全部堆积在本机的传出队列里,状态为正在等待连接。
另一台机的专用消息队列里根本就没有我所发送的消息。
并且把程序放到不同的机器上进行测试,一个是英文系统,一个是中文系统。向同一个远程服务器发送消息都正常,没有任何错误提示,但一直在本机的传出队列中。
故障现象:
服务器上MSMQ私有队列 可以接收 本服务器发送消息,无法接收远程计算机发送的消息

服务器IP为10.9.3.2
客户端发送的队列为 direct=tcp:10.9.3.2/$private/aasmansvc_input
消息状态:正在等待连接
客户端可以ping的通服务器IP
部署程序的服务器和发送到远程的服务器的messagequeue 服务都已经启动

英文操作系统发送消息队列:

中文操作系统发送消息队列:

两个发送消息的测试机都在本地的传出队列中显示“正在等待连接”状态。

解决方法:

1)首先考虑客户端和远程服务器端的防火墙是否允许通过。本人的测试机器都把防火墙关闭,依然有次问题。

2)检查远程服务器的MSMQ设置会有影响,在远程服务器的消息队列上点击右键-->属性,如下图:

如果你是英文版的系统,在如下图:

打配置界面,点击“服务器安全”选项卡,如下图:

勾选:启用安全的远程接收。因为我测试的发消息的服务器的系统都是2003的系统,并且:禁用未经身份验证的RPC调用。

当然,我使用的是Win7系统作为远程队列发送消息的机器是2003的系统,使用上图的配置可以正常发送消息。反过来从win7向2003的系统中的消息队列发送消息,则如下设置也可以正常发送:

另外,我在测试过程中,发送事务型消息,从win7到2003测试失败;从2003到win7测试失败。不知道为什么事务型消息始终没有测试通过,有可能是服务器配置,有可能是我的代码有问题。留着以后慢慢解决吧。

如果你的远程队列是域中的服务器,会有点不一样。点击属性后的如下图:

以上是本人在测试的过程中发现的没有报错信息的错误,记录下来以便于方便大家相互学习,如果以后再遇到其他问题,会补充在文章最后。

个人原创,转载请注明出处。

MSMQ向远程服务器发送消息----错误总结的更多相关文章

  1. nodejs向远程服务器发送post请求----融云Web SDK/客户端获取token

    最近要用到一个叫融云的及时通讯的SDK,在获取token这个步骤的时候有点卡顿,以防以后碰到类似的问题,再此记录一下. 客户端通过融云 SDK 每次连接服务器时,都需要向服务器提供 Token,以便验 ...

  2. system.net.webexception远程服务器返回了错误: NotFound。

    Not Found类的错误主要是由于网络服务访问出错.所以需要分析是由哪个网络服务访问失败而导致的. DataAccessSilverlight.PowerDataServiceReference.G ...

  3. Silverlight提示“Load 操作失败。远程服务器返回了错误: NotFound”

    调试时出现“Load 操作失败.远程服务器返回了错误: NotFound”: 一定要注意此错误之前的错误是什么?基本就是用户Cookie的问题,用户没有登录. 有时需要设置成Any CPU 有时重新编 ...

  4. win10使用L2TP连接失败,报远程服务器未响应错误解决办法,亲测可用!

    报错如下: 原因是L2TP连接需要IPSec加密,远程服务器未响应说明IPSec加密被禁用了,需要在注册表启用它,具体步骤如下: 1.以管理员账号身份打开CMD,win10 是 win+x键 2.找到 ...

  5. 解决本地SqlServer无法连接远程服务器数据库,错误10060

    本地SqlServer 连不上服务器的数据库环境,错误信息如下图,折腾来折腾去,最终还是解决了 第一步 查看服务器本地端口是否已经打开,查看方法:首先向C:\Windows\System32文件夹添加 ...

  6. 借助form表单向web服务器发送消息

    form表单是常用的,在网页浏览器中 用户点击的请求经htto协议发送回web容器,请求处理 建立用户的页面 <!DOCTYPE html> <html> <head&g ...

  7. 22 使用ArcMap 连接Server提示【远程服务器收到了错误的地址】

    情景一: 软件:ArcMap.对应版本ArcGIS server 可能是用了FQ软件 解决办法:打开浏览器设置,如谷歌浏览器,高级设置,系统下--打开代理设置--局域网设置--取消勾选  使用自动配置 ...

  8. rabbitmq实现一台服务器同时给所有的consumer发送消息(tp框架)(第四篇)

    之前的学习了把消息直接publish到queue里面,然后consume掉, 真实的情况,我们会把消息先发送到exchange里面,由它来处理,是发给某一个队列,还是发给某些队列,还是丢弃掉? exc ...

  9. springboot集成websocket实现向前端浏览器发送一个对象,发送消息操作手动触发

    工作中有这样一个需示,我们把项目中用到代码缓存到前端浏览器IndexedDB里面,当系统管理员在后台对代码进行变动操作时我们要更新前端缓存中的代码怎么做开始用想用版本方式来处理,但这样的话每次使用代码 ...

随机推荐

  1. 分布式session的管理

    在分布式架构或微服务架构下,必须保证一个应用服务器上保存Session后,其它应用服务器可以同步或共享这个Session,可能会出现在A1系统登录后创建并保存Session,再次发起请求,请求被转发到 ...

  2. NOSQL数据库-Redis

    官方提倡使用Linux版的Redis,所以官网值提供了Linux版的Redis下载,我们可以从GitHub上下载window版的Redis,具体链接地址如下: · 官网下载地址:http://redi ...

  3. SQL学习笔记七之MySQL视图、触发器、事务、存储过程、函数

    阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ...

  4. linux第六周

    一.知识概要 进程的描述 进程描述符task_struct数据结构(一)进程描述符task_struct数据结构(二)进程的创建 进程的创建概览及fork一个进程的用户态代码理解进程创建过程复杂代码的 ...

  5. 20145219《网络对抗》PC平台逆向破解

    20145219<网络对抗>PC平台逆向破解 shellcode注入 1.shellcode shellcode是一段代码,溢出后,执行这段代码能开启系统shell. 2.构造方法 (1) ...

  6. JAVA8新特性——Lamda表达式

    JAVA9都要出来了,JAVA8新特性都没搞清楚,是不是有点掉队哦~ Lamda表达式,读作λ表达式,它实质属于函数式编程的概念,要理解函数式编程的产生目的,就要先理解匿名内部类. 先来看看传统的匿名 ...

  7. 【Dubbo基础】dubbo学习过程、使用经验分享及实现原理简单介绍

    一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下. 整理这篇文章差不 ...

  8. 【Rpc】基于开源Dubbo分布式RPC服务框架的部署整合

    一.前言 Dubbo 作为SOA服务化治理方案的核心框架,用于提高业务逻辑的复用.整合.集中管理,具有极高的可靠性(HA)和伸缩性,被应用于阿里巴巴各成员站点,同时在包括JD.当当在内的众多互联网项目 ...

  9. 1406 data too long for column 'content' at row 1

    很奇怪,很邪门. content字段用的是text格式,按理说不会出现数据太长的问题. 后来搜索了一下,需要设置sql_mode.或者设为, mysql> SET @@global.sql_mo ...

  10. vue全家桶实现笔记本功能

    一个通过vue实现的练手小项目,数据保存和导出通过node进行处理 成品截图: 安装vue-cli,webpack: cnpm install webpack -g cnpm install vue- ...