0

我正在向iso服务器发送请求。我有些成功,有时我得到解析错误

这是我的客户端解析错误 jpos 日志:

  <send>                                                                                 
  <isomsg direction="outgoing">                                                   
  <field id="0" value="0200"/>                                                       
  <field id="2" value="9841414141"/>                                                 
  <field id="3" value="401010"/>                                                              
  <field id="4" value="200"/>                                                        
  <field id="7" value="0812104837"/>                                                 
  <field id="11" value="002356"/>                                                             
  <field id="12" value="104837"/>                                                    
  <field id="13" value="0812"/>                                            
  <field id="14" value="0000"/>                                                 
  <field id="15" value="0812"/>                                                      
  <field id="18" value="6011"/>                                                      
  <field id="22" value="901"/>                                                       
  <field id="25" value="00"/>
  ...........
  ............
  </isomsg>                                                                                                   
  </send> 

      <warn>                                                                                 
        channel-receiver-RBB_OUT                                                             
        <iso-exception>                                                                      
          Invalid message length                                                          
 03                                                                                  
          org.jpos.iso.ISOException: Invalid message length                            
    03                                                                                       
            at org.jpos.iso.channel.ASCIIChannel.getMessageLength(ASCIIChannel.java:118)              
            at org.jpos.iso.BaseChannel.receive(BaseChannel.java:704)                        
            at org.jpos.q2.iso.ChannelAdaptor$Receiver.run(ChannelAdaptor.java:318)          
            at java.base/java.lang.Thread.run(Thread.java:834)                                        
        </iso-exception>                                                                     
      </warn>    

请求在服务器端成功,看起来服务器也在发送响应。我认为当 jpos 解析来自服务器的响应时会出现问题

这是来自服务器的响应日志:

03410210F23A40010E8384000000000006020030109841414141401010000000000200081210483700235610385008120812601108............................................................

.............................

我认为问题在于 0341 消息长度,但服务器正在发送 0341 但 jpos 无法解析它。当我向服务器发送请求时,我有 50% 的时间得到成功响应,而没有更改任何 jpos 配置,所以我认为我的配置没问题。

这是我的频道配置:

<channel-adaptor name='abcca' class="org.jpos.q2.iso.ChannelAdaptor" logger="Q2">
<channel class="org.jpos.iso.channel.ASCIIChannel" logger="Q2" packager="org.jpos.iso.packager.GenericPackager">
    <property name="host" value="176.17.7.30" />
    <property name="port" value="9002" />
    <property name="packager-config" value="cfg/packager_abc.xml" />
    <property name="timeout" value="300000" />
    <property name="keep-alive" value="true" />
</channel>
 <in>ABC_IN</in>
 <out>ABC_OUT</out>
 <reconnect-delay>10000</reconnect-delay> 
</channel-adaptor>
4

0 回答 0