jcberquist/aws-cfml

Using CF11 listBuckets causes: Unable to process the result of the XMLSearch for ''

Closed this issue · 1 comments

Please advise.

Tag Context:
Tag: CF_CFPAGE
Template: /lib/ex-shared/model/utils/aws/com/utils.cfc
Line: 10
Tag: CF_TEMPLATEPROXY
Template: /lib/ex-shared/model/utils/aws/services/s3.cfc
Line: 25
Tag: CF_TEMPLATEPROXY
Template: /handlers/Download.cfc
Line: 216
Tag: CF_UDFMETHOD

Okay, I fixed it by updating the code in utils.cfc

From:

public any function parseXmlResponse( required string response, required string rootElement ) {
    var start = getTickCount();
    var result = [ ];
    var elementNodes = xmlSearch( xmlParse( response ), "//*[ local-name() = '#rootElement#' ]" );
    for ( var thisNode in elementNodes ) {
        result.append( parseXmlNode( thisNode ) );
    }
    return result.len() ? ( result.len() > 1 ? result : result[ 1 ] ) : '';
}

To:

public any function parseXmlResponse( required string response, required string rootElement ) {
    var start = getTickCount();
    var result = [ ];

    var elementNodes = xmlParse( toString(response) );
    for ( var thisNode in elementNodes[rootElement] ) {
        result.append( parseXmlNode( elementNodes[rootElement][thisNode] ) );
    }
    return result.len() ? ( result.len() > 1 ? result : result[ 1 ] ) : '';
}