I'm working on the same problem. I'm using this function, but it doesn't work either. I've figured out that the problem is Java's gzip file is valid (it has a 10-byte header, and a 8-byte trailer), but the ADFS one is missing both of those (it only contains the content). while it's easy to chop off the the first 10 bytes and the last 8-bytes to send ADFS what it's expecting, it's not possible (as far as I can tell) to derive the last 8 bytes without having the decompressed file. <cffunction name="ungzip" returntype="string"> <cfargument name="encodedString" type="string" required="true"> <cfargument name="encoding" type="string" default="Base64"> <cfscript> var line = ""; if( ListContains("Base64,Hex,UU", encoding) ) { var data = BinaryDecode(encodedString, encoding); var buffReader = createObject("java", "java.io.BufferedReader").init( createObject("java", "java.io.InputStreamReader").init( createObject("java", "java.util.zip.GZIPInputStream").init( createObject("java", "java.io.ByteArrayInputStream").init(data) ) ) ); line = buffReader.readLine(); buffReader.close(); } return line; </cfscript> </cffunction> Did you ever get something figured out?
... View more