//QueuedDocumentRetrieve // setup EMsgAPI object - EM EMsgAPI_Demo.EMsgAPI_QueuedDocumentRetrieve201301.QueuedDocumentRetrieveService EM = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRetrieve201301.QueuedDocumentRetrieveService(); // setup Authentication objects EMsgAPI_QueuedDocumentRetrieve201301.RequestAuthentication reqAuth = new EMsgAPI_QueuedDocumentRetrieve201301.RequestAuthentication(); EMsgAPI_QueuedDocumentRetrieve201301.XDDSAuthType XDDSAuth = new EMsgAPI_QueuedDocumentRetrieve201301.XDDSAuthType(); EMsgAPI_QueuedDocumentRetrieve201301.UIDType uid = new EMsgAPI_QueuedDocumentRetrieve201301.UIDType(); // init Authentication objects XDDSAuth.Password = txtAccessCode.Text; uid.Value = txtUserId.Text; XDDSAuth.RequesterID = uid; reqAuth.Item = XDDSAuth; // Setup Request and JobSubmitRequest object EMsgAPI_Demo.EMsgAPI_QueuedDocumentRetrieve201301.Request Request = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRetrieve201301.Request(); EMsgAPI_Demo.EMsgAPI_QueuedDocumentRetrieve201301.Response Response = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRetrieve201301.Response(); EMsgAPI_Demo.EMsgAPI_QueuedDocumentRetrieve201301.QueuedDocumentRetrieveRequest QD_Request = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRetrieve201301.QueuedDocumentRetrieveRequest(); EMsgAPI_Demo.EMsgAPI_QueuedDocumentRetrieve201301.QueuedDocumentRetrieveResult QD_Result = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRetrieve201301.QueuedDocumentRetrieveResult(); QD_Request = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRetrieve201301.QueuedDocumentRetrieveRequest(); // Setup Proxy server and EMsgAPIConnect URL for posting data Set_Server_and_Proxy(EM); // Setup Reqeust Object Request.ReceiverKey = EM.Url; Request.Authentication = reqAuth; Request.RequestID = "RequestID"; QD_Request.SubmitId = "SubmitId"; // Assign Reqeust and Response objects to EM Object EM.RequestValue = Request; EM.ResponseValue = Response; try { if (cmbServer.Text.Contains("Async")) { EM.QueuedDocumentRetrieve(QD_Request); QD_Result = null; } else QD_Result = EM.QueuedDocumentRetrieve(QD_Request); } catch (Exception ex) { System.Console.WriteLine(ex.Message); System.Console.Read(); return; } string emfilename = "emresponse.xml"; string resfilename = "result.xml"; string reqfilename = "request.xml"; try { //This will output the response, result and request(if uncommented) to XML files in the //installed directory. This can be very usefull for debugging or ir help is requested from //the EMAPI support team if (chkResult) { serializeResult(emfilename, EM.ResponseValue); serializeResult(resfilename, QD_Result); serializeResult(reqfilename, QD_Request); } } catch (IOException io_error) { MessageBox.Show("Error - " + io_error, "Error", MessageBoxButtons.OK); } if (QD_Result.QueueId != null) { string stXDN; string stQueueName; uint uiItemID; string stJobIDXDN; string stJobIDMRN; stXDN = QD_Result.QueueId.XDN; stQueueName = QD_Result.QueueId.QueueName; uiItemID = QD_Result.QueueId.ItemID; stJobIDXDN = QD_Result.JobId.XDN; stJobIDMRN = QD_Result.JobId.MRN; string stEnFile; string stExt = ""; string stFile; bool bDecode = false; for (int i = 0; i < QD_Result.JobDocumentData[0].DocumentInfo.Length; i++) { if (QD_Result.JobDocumentData[0].DocumentInfo[i].DocType.ToString() == "TIFF") { stExt = "_" + i + ".tif"; bDecode = true; } else if (QD_Result.JobDocumentData[0].DocumentInfo[i].DocType.ToString() == "PDF") { stExt = "_" + i + ".pdf"; bDecode = true; } if (bDecode) { //Create file name stFile = QD_Result.JobId.MRN; stFile = stFile + stExt; //unencode and create file stEnFile = QD_Result.JobDocumentData[0].DocumentInfo[i].FileData.Value; byte[] data = Convert.FromBase64String(stEnFile); System.IO.FileStream _FileStream = new System.IO.FileStream(stFile, System.IO.FileMode.Create, System.IO.FileAccess.Write); // Writes a block of bytes to this stream using data from // a byte array. _FileStream.Write(data, 0, data.Length); // close file stream _FileStream.Close(); bDecode = false; stExt = ""; } } //QueuedDocumentRelease // setup EMsgAPI object - EM EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.QueuedDocumentReleaseService EMR = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.QueuedDocumentReleaseService(); // setup Authentication objects EMsgAPI_QueuedDocumentRelease201301.RequestAuthentication RreqAuth = new EMsgAPI_QueuedDocumentRelease201301.RequestAuthentication(); EMsgAPI_QueuedDocumentRelease201301.XDDSAuthType RXDDSAuth = new EMsgAPI_QueuedDocumentRelease201301.XDDSAuthType(); EMsgAPI_QueuedDocumentRelease201301.UIDType Ruid = new EMsgAPI_QueuedDocumentRelease201301.UIDType(); // init Authentication objects RXDDSAuth.Password = txtAccessCode.Text; Ruid.Value = txtUserId.Text; RXDDSAuth.RequesterID = Ruid; RreqAuth.Item = RXDDSAuth; // Setup Request and JobSubmitRequest object EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.Request RRequest = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.Request(); EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.Response RResponse = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.Response(); EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.QueuedDocumentReleaseRequest QDR_Request = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.QueuedDocumentReleaseRequest(); EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.QueuedDocumentReleaseResult QDR_Result = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.QueuedDocumentReleaseResult(); QDR_Request = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.QueuedDocumentReleaseRequest(); // Setup Proxy server and EMsgAPIConnect URL for posting data Set_Server_and_Proxy(EMR); // Setup Reqeust Object RRequest.ReceiverKey = EM.Url; RRequest.Authentication = RreqAuth; RRequest.RequestID = "RequestID"; QDR_Request.SubmitId = "SubmitId"; EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.QueueIdType QDR_QueueID = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.QueueIdType(); EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.JobIdType QDR_JobID = new EMsgAPI_Demo.EMsgAPI_QueuedDocumentRelease201301.JobIdType(); QDR_QueueID.QueueName = stQueueName; QDR_QueueID.XDN = stXDN; QDR_QueueID.ItemID = uiItemID; QDR_JobID.MRN = stJobIDMRN; QDR_JobID.XDN = stJobIDXDN; QDR_Request.QueueId = QDR_QueueID; QDR_Request.JobId = QDR_JobID; // Assign Reqeust and Response objects to EM Object EMR.RequestValue = RRequest; EMR.ResponseValue = RResponse; try { if (cmbServer.Text.Contains("Async")) { EMR.QueuedDocumentRelease(QDR_Request); QDR_Result = null; } else QDR_Result = EMR.QueuedDocumentRelease(QDR_Request); } catch (Exception ex) { System.Console.WriteLine(ex.Message); System.Console.Read(); return; } string Remfilename = "Remresponse.xml"; string Rresfilename = "Rresult.xml"; string Rreqfilename = "Rrequest.xml"; try { //This will output the response, result and request(if uncommented) to XML files in the //installed directory. This can be very usefull for debugging or ir help is requested from //the EMAPI support team if (chkResult) { serializeResult(Remfilename, EMR.ResponseValue); serializeResult(Rresfilename, QDR_Result); serializeResult(Rreqfilename, QDR_Request); } } catch (IOException io_error) { MessageBox.Show("Error - " + io_error, "Error", MessageBoxButtons.OK); } }