问题
· 五月 18, 2021

来自英文社区:超时期限为(5)的TCP读取(32000)失败

大家好,

我目前正在开发TCP入站服务,以读取从使用EnsLib.TCP.CountedOutboundAdapter的TCP操作发送的一些XML。

1)我尝试过EnsLib.TCP.Inbound适配器,但是会出现此错误:

错误<Ens> ErrException:<METHOD不存在> zinitConfig + 7 ^ Ens.Host.1 *%New,EnsLib.TCP.InboundAdapter-登录为'-'
数字 - @'
设置..Adapter = $ classmethod(..#ADAPTER,“%New”)'

因此,适配器无法开始侦听传入的连接。

2)当我改用EnsLib.TCP.CountedXMLInboundAdapter或EnsLib.TCP.CountedInboundAdapter时,适配器开始侦听给定的端口,但OnProcessinput()方法未在pInput流中接收任何数据。流始终为空,并在事件日志中引发此错误。

错误<Ens> ErrTCPReadBlockSize:超时时间为(5)的TCP Read(32000)失败,错误如下:(1144):l version =“ 1.0” encoding =“ UTF-8”?> Wsma2Message xmlns:ns1 =“ urn:hl7-org :v3“ ......

我尝试将读取超时时间一直更改为30秒,但是没有用。从TCPCountedOutboundAdapter发送的XML如下。

<?xml版本=“ 1.0”编码=“ UTF-8”?> <Wsma2Message xmlns:ns1 =“ urn:hl7-org:v3”> <Header> <MessageID> PCEN1111111111111 </ MessageID> <SendingOrganisationID> 987654321 </ </ SendingOrganisationID> <SendingIndividualID> 5555555555 </ SendingIndividualID> <ReceivingOrganisationID> 123456 </ ReceivingOrganisationID> <MessageType> JCCReferralOut </ MessageType> <CreationTime> 2021-04-28T04:27:09.231Z </ CreationTime> </ Header> <Payload> <V2> 1KB有效负载在这里</ V2> </ Payload> </ Wsma2Message>

3)有人可以解释一下,我应该使用哪个TCP入站适配器来接收由EnsLib.TCP.CountedOutboundAdapter发送的XML(Stream)吗?

另外,如果有人可以解释这个计数的适配器与普通入站适配器有何不同,我将非常感激。

提前致谢。

讨论 (1)1
登录或注册以继续