I have a "problem" with the cancelling of an query request.
i use a DcmFindScu based implementation. When cancelling the query i sent DIMSE_sendCancelRequest from the callback. Is this correct? Are there any examples i have missed (couldn't find any).
Code: Select all
void MyCallback::callback
( T_DIMSE_C_FindRQ *request, int responseCount, T_DIMSE_C_FindRSP *rsp,
DcmDataset *responseIdentifiers )
{
qDebug() << "rsp " << rsp->DimseStatus;
/* send C-FIND-CANCEL */
if( responseCount > m_cancelAfterNResponses )
{
if( !m_cancelRequestSent )
{
DCMNET_INFO("Sending Cancel Request (MsgID " << request->MessageID
<< ", PresID " << OFstatic_cast(unsigned int, presId_)
<< ")");
OFCondition cond = DIMSE_sendCancelRequest(assoc_, presId_,
request->MessageID);
if (cond.bad())
{
OFString temp_str;
DCMNET_ERROR("Cancel Request Failed: "
<< DimseCondition::dump(temp_str, cond));
} else m_cancelRequestSent = true;
}
emit maxResponsesReached();
return;
}
...
}
- ...
rsp 65280
W: DcmItem: Invalid Element (0002,0003) found in data set
rsp 65280
I: Sending Cancel Request (MsgID 1, PresID 1)
W: DcmItem: Invalid Element (0002,0003) found in data set
rsp 65280
...
W: DIMSE Warning: (ISEEPROSTORESCP,ORTHANC): findUser: Status Cancel: MatchingTerminatedDueToCancelRequest, but DataSetType!=NULL
W: DIMSE Warning: (ISEEPROSTORESCP,ORTHANC): Assuming no response identifiers are present
I: Received Final Find Response (Cancel: MatchingTerminatedDueToCancelRequest)
I: Releasing Association
E: Association Release Failed: 0006:0316 DUL P-Data PDU arrived
a) Success
b) Pending
c) Refused
d) Refused
e) Refused
f) Cancel
g) Failed
How can i get it? rsp->DimseStatus is always 65280.
What does the warnings:
W: DIMSE Warning: (ISEEPROSTORESCP,ORTHANC): findUser: Status Cancel: MatchingTerminatedDueToCancelRequest, but DataSetType!=NULL
W: DIMSE Warning: (ISEEPROSTORESCP,ORTHANC): Assuming no response identifiers are present
and error:
E: Association Release Failed: 0006:0316 DUL P-Data PDU arrived mean?
Greetings Gerd