CFML2WDDX Ошибка ColdFusion 11

Я использую CFM2WDDX преобразовать массив в CF11, но я получаю эту ошибку:

coldfusion.tagext.validation.WddxValidator $ InvalidWddxPacketException: неверный пакет WDDX.

Я использую этот код здесь:

getFileList.cfm

<cfsetting enablecfoutputonly="Yes">
<cfset thisdir = ExpandPath(".\")>
<cfdirectory directory="#thisdir#" action="LIST" name="imagefiles" recurse="No">
<cfscript>
// get .gif|.jpg|.png files from the cfdirectory query...
numRows = imagefiles.recordcount;
imageFileArray = ArrayNew(1);
for (row = 1; row LTE numRows; row++) {
    if (refindnocase("(.gif|.jpg|.png)",imagefiles.name[row]) neq 0) {
        ArrayAppend(imageFileArray, imagefiles.name[row]);
    }    
}
</cfscript>
<cfwddx action="cfml2wddx" input=#imageFileArray# output="wddxText">
<cfoutput>#wddxText#</cfoutput>

Как видите, код создает массив имен изображений, к которым я затем обращаюсь через cfhttp, чтобы делать с ним все, что мне нужно. У меня тот же самый точный код с тем же самым точным содержимым каталога на сервере CF9, и он работает должным образом, но в CF11 я получаю ошибки форматирования. Как-то изменилась эта функция в CF11?

Это код, который я использую для доступа к коду выше:

<cfhttp url="http://example.com/images/ClientLogos/getFileList.cfm" method="GET" timeout="10" throwonerror="Yes">
    <cfwddx action="WDDX2CFML" input="#trim(cfhttp.filecontent)#" output="imageArray" validate="true">
    <cfreturn imageArray>

getFileList.cfm находится в одном каталоге с изображениями, поэтому он выполняется на локальном сервере, откуда вызывается. (вот почему я думал, что CF11 может быть проблемой)

Часть вывода из CF9:

И часть вывода из CF11:

CFHTTP.Header от CF 11:

HTTP/1.1 200 OK Content-Type: text/html;charset=UTF-8 Server: Microsoft-IIS/8.0 X-Powered-By: ASP.NET Access-Control-Allow-Origin: * Date: Tue, 31 Mar 2015 18:50:35 GMT Connection: close Content-Length: 10807 

CFHTTP.Header от CF 9:

HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Vary: Accept-Encoding Server: Microsoft-IIS/7.5 X-Powered-By: ASP.NET Date: Tue, 31 Mar 2015 18:51:20 GMT Connection: close

1 ответ

Решение

Я не уверен, что вызывает такое поведение, но я нашел золотую середину на данный момент. Вместо вызова getFileList.cfm через cfhttp я переместил код из getFileList.cfm прямо в мою функцию, и все работает. Причиной того, что этот файл начал с того, что он позволил мне получить доступ к внешнему репозиторию изображений на другом сервере, который мне больше не нужен / не нужен. В любом случае, это может быть ошибка CF11, так что посмотрим в будущем...

Другие вопросы по тегам