We are trying to get encrypted XML file from third party on daily basis. How can we get this file from third party without access to our network? There is a middle layer(server) between us and third party to access this file without using the FTP transfer. So we came up with this idea of using WCF to input this file by third party and consume this service in middle layer. We do not have direct access to this folder from our network becuase of security reasons we are putting this file in MSMQ queue. We wrote a small program to transfer this file from Queue. Is this right way of doing it? I am sure there is a better way of doing this. Could you please suggest any other methods? I appreciate any suggestions.
Thank you.
The biggest risk is that MSMQ has a message size limit of 4MB – if the file that is sent even exceeds this size the MSMQ approach will fail and there will be no chance of recovery.
It sounds like you can’t get the file and it can’t be sent to you, both serious problems and the middleware is problematic at best because you don’t have access to any other means other than MSMQ.
If there is no possibility of ever reaching say a 3MB limit (remember, messages contain overhead data) then there is a chance that this will be a workable solution. But you may want to see if it’s possible to break up the message/file in smaller segments.
Another possibility, is to have the middleware send the file through other means – I’m thinking of perhaps using an email account that is hidden and only used for this purpose. When the middleware detects a new file it could send the file by email and then also send an MSMQ message to prevent polling the POP/Mail account constantly but that’s not really a big deal either.
Hope this helps,