Meine Kundenbasis ist endlich von Coldfusion 8 weg, so dass ich jetzt die onCFCRequest
-Ereignis von Coldfusion 9 nutzen kann. Ich habe ein Test-Szenario eingerichtet und mein Ergebnis entspricht nicht meinen Erwartungen. Ich habe eine Methode, die ich aufrufe, die eine gültige XML
-Antwort produziert, wie folgt...
Response Header: Content-Type:application/xml;charset=UTF-8
Response:
...
Nun, nachdem ich das onCFCRequest
-Ereignis eingeführt habe, bekomme ich dies zurück (was meine Rasterspalten zerbricht)...
Response Header: Content-Type:application/xml;charset=UTF-8
Response:
Hier ist das Ereignis...
// OnCFCRequest Sicherheitslückenbehebung wie hier detailliert beschrieben: http://blog.adamcameron.me/2013/04/its-easy-to-create-security-hole-in.html
var o = createObject(ARGUMENTS.cfc);
var metadata = getMetadata(o[ARGUMENTS.method]);
if (structKeyExists(metadata, "access") && metadata.access == "remote"){
return invoke(o, ARGUMENTS.method, ARGUMENTS.args);
}else{
throw(type="InvalidMethodException", message="Ungültige Methode aufgerufen", detail="Die Methode #method# existiert nicht oder ist remotely nicht zugänglich");
}
Wie kann ich erreichen, dass onCFCRequest die Antwort im gleichen Format durchlässt, in dem die entfernte Funktion zurückgibt?
Ich kenne diesen Artikel: http://www.bennadel.com/blog/1647-Learning-ColdFusion-9-Application-cfc-OnCFCRequest-Event-Handler-For-CFC-Requests.htm
Ich werde wahrscheinlich versuchen, das zuerst zu tun, aber zuerst möchte ich herausfinden, warum ich die Antwort nicht einfach im gleichen Format durchreichen kann.