11:49:00,101 DEBUG - MOVESCU->AESERVER(1): enter state: Sta5 - Awaiting A-ASSOCIATE-AC or A-ASSOCIATE-RJ PDU 11:49:00,107 INFO - MOVESCU->AESERVER(1) >> {} A-ASSOCIATE-RJ[result: 1 - rejected-permanent, source: 1 - service-user, reason: 3 - calling-AE-title-not-recognized] at org.dcm4che3.net.PDUDecoder.nextPDU(PDUDecoder.java:182) at org.dcm4che3.net.Association$2.run(Association.java:520) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 11:49:00,109 INFO - MOVESCU->AESERVER(1): close Socket[addr=/172.168.7.94,port=104,localport=52851] 11:49:00,110 DEBUG - MOVESCU->AESERVER(1): enter state: Sta1 - Idle movescu: A-ASSOCIATE-RJ[result: 1 - rejected-permanent, source: 1 - service-user, reason: 3 - calling-AE-title-not-recognized] A-ASSOCIATE-RJ[result: 1 - rejected-permanent, source: 1 - service-user, reason: 3 - calling-AE-title-not-recognized] at org.dcm4che3.net.PDUDecoder.nextPDU(PDUDecoder.java:182) at org.dcm4che3.net.Association$2.run(Association.java:520) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
遇到这个问题,AE-title-not-recognized无法被识别,我用的是dcm4che官方的bin包进行测试,
bin包下载地址https://sourceforge.net/projects/dcm4che/files/dcm4che3/
我们对接了两三个服务,就一个不行,然后询问对方,对方说都是一样的,而且其他公司来接也没问题,
这是我原先的请求方式
#构建我方storescp接收dicom文件
sh storescp -b mestorescp@ip:11112 --directory /tmp/test/ &
#cmove请求
sh movescu -c DCM4CHEE@localhost:11112 -m StudyInstanceUID=<StudyUID> --dest mestorescp
原因:
经排查是对方这家升了新版本加了AE-title的验证,
官方包默认使用 MOVESCU作为
AE-title
连接
传输,而我提供给对方配置的AE-title不是这个
解决:
我们需要将我的AE-title 提供给对方让对方配置,并且传输的时候需要绑定ae-title
#添加 -b mestorescp 绑定我的AE-title
sh movescu -b mestorescp -c DCM4CHEE@localhost:11112 -m StudyInstanceUID=<StudyUID> --dest mestorescp
成功