赞
踩
服务器端,把dcmtk-3.5.4/dcmwlm/wlistdb/OFFIS目录下的文件通过dump2dcm转换到L:/dcmtk/testWLMSCPFS/OFFIS目录下,用如下语句启动
wlmscpfs -v -dfp "L:/dcmtk/testWLMSCPFS" 666
客户端,把dcmtk-3.5.4/dcmwlm/wlistqry目录下的文件通过dump2dcm转换到L:/dcmtk/testWLMSCPFS/wlistqry目录下,用如下语句启动
findscu 127.0.0.1 666 -aec "OFFIS" -k 0010,0010="VIVALDI^ANTONIO" -k 0010,0020 -k 0010,0030 -v L:/dcmtk/testWLMSCPFS/wlistqry/wlistqry0.dcm
这时,不管-k使用什么参数,服务器都返回
C-Find RSP: MsgID: 1 [Status=Success]
AffectedSOPClassUID: =FINDModalityWorklistInformationModel
Data Set: Not Present
Releasing Association
跟踪服务器端代码,发现WlmFileSystemInteractionManager::DetermineMatchingRecords中288行,如下代码DatasetIsComplete总是返回False,
if( enableRejectionOfIncompleteWlFiles && !DatasetIsComplete( dataset ) )
导致不进行数据查询,感觉是enableRejectionOfIncompleteWlFiles 这个变量没有初始化,检查代码,发现它被初始化为True,检查初始化代码,原来在WlmDataSourceFileSystem::ConnectToDataSource中进行的初始化,而WlmConsoleEngineFileSystem::WlmConsoleEngineFileSystem初始化时就接受--disable-file-reject这个参数,因此决定添加--disable-file-reject这个参数,修改服务器启动参数如下:
wlmscpfs -v -dfp "L:/dcmtk/testWLMSCPFS" 666 --disable-file-reject
这样服务器就可以返回匹配-k的数据了
要注意:findscu 中的参数 -k 0010,0020 -k 0010,0030 是不带值的,作用是让服务器返回这两个-k表示的值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。