【问题标题】:Single message stuck in transmission queue单个消息卡在传输队列中
【发布时间】:2019-08-20 23:35:15
【问题描述】:

好的,我正在使用服务代理,所有其他通过服务代理发送的都可以正常工作。除了一条消息卡在传输队列中并且不会发送。我看到的唯一错误消息是:

连接尝试失败,错误为:'10060(连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机没有响应。)'。

但不清楚是否相关。再次在发送的相同消息类型的其他消息上正常工作。

【问题讨论】:

    标签: service-broker


    【解决方案1】:

    问题是当 XML 包含特殊内容时 Service Broker 无法正常工作 字符

    问题在于,在生成要通过服务代理发送的 xml 时,我们的文档中有一个 á(a-acute)。我们通过将消息类型从 VALIDATION = 切换来克服了这个问题 WELL_FORMED_XML 到 验证 = 无。

    然后我们修改了 在接收队列上激活存储过程。换行

    @message_body = CAST(message_body as XML),
    
    -- to
    
    @message_body = CAST(CAST(message_body AS VARCHAR(MAX)) AS XML),
    

    这解决了问题。

    我相信或者我们可以清理我们的 xml 以将 á (a-acute) 替换为 html 字符代码,但是用例要求我们允许使用许多难以识别的特殊字符正面。


    连接尝试失败,错误为:'10060(连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机没有响应。)'。

    此消息是由于与在同一服务器上运行的另一个服务代理实例的连接问题。

    【讨论】:

      猜你喜欢
      • 2011-05-01
      • 2018-11-30
      • 1970-01-01
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      • 2012-01-19
      • 2013-08-24
      • 2011-06-17
      相关资源
      最近更新 更多