Detaching an attachment from a SOAP message depends on what format the attachment is in. If it came from a Microsoft source (like MSXML) then it is most likely DIME and you need a DIME parser to deal with it. Something like onion networks:
Onion Networks Web Page.
If it comes from a Java-based source then there are several things you can do. Most people seem to be using Axis for this kind of thing - check out:
Loughran paper on SwA He's got some example code which 'manually' extracts attachments.