WestCoast_BC
asked on
Getting my site to work with Railo
I have a website that works fine using Coldfusion and now I am trying to get it to work using Railo. When I am comparing values from a query I am getting the error:
Msg: can't compare complex object types as simple value
I have a line of code that looks like the following:
<cfif getThreadID.LoggedInUsersO nly EQ 0>
If I use cfdump to look at the value it displays:
Native Array (byte[])
Raw [0]
Base64 Encoded AA==
What do I have to do differently so that it works using Railo?
Also, the URL that I am using to view my site is: localhost:8888/index.cfm. Having the port number in the URL seems to be causing me problems when I am trying to load css, js, and other files. Is there anything that I can do in the Railo admin so that I can use localhost without the port number?
Thank you for your help
Msg: can't compare complex object types as simple value
I have a line of code that looks like the following:
<cfif getThreadID.LoggedInUsersO
If I use cfdump to look at the value it displays:
Native Array (byte[])
Raw [0]
Base64 Encoded AA==
What do I have to do differently so that it works using Railo?
Also, the URL that I am using to view my site is: localhost:8888/index.cfm. Having the port number in the URL seems to be causing me problems when I am trying to load css, js, and other files. Is there anything that I can do in the Railo admin so that I can use localhost without the port number?
Thank you for your help
ASKER
Question 1: getThreadID.LoggedInUsersO nly is from a db query. The column data type is Bit(1)
Question 2: When I try to load a js or css file and I just a relative URL it does not find the file, I get an error. My code works fine using Coldfusion. I was wondering if the port number in the url is my problem since I don't have a port number in my URL when I run using Coldfusion
Question 2: When I try to load a js or css file and I just a relative URL it does not find the file, I get an error. My code works fine using Coldfusion. I was wondering if the port number in the url is my problem since I don't have a port number in my URL when I run using Coldfusion
Which db? I know mySQL sometimes returns binary when you're not expecting it. From the error it sounds like that's what's happening. The causes can vary. I'd need to know the exact mySQL version, driver version and query used. As a quick workaround, try casting the column as an UNSIGNED INTEGER in your SQL query. See if that fixes the error: (AFAIK MySQL doesn't allow casting to smallint, etc...)
SELECT CAST( YourColumn AS UNSIGNED INTEGER) AS LoggedInUsers
EDIT: RE URL's, I've never had that problem w/Railo, but I don't think the different port number should make any difference unless you were using a full URL, such as: http://localhost/app/someFile.css. In that case it *would* make a difference. Assuming you're not, can you give post a small example showing the paths you're trying and the exact error message?
ie
CSS location: c:/railo/www/myApp/css/sty les.css
TestScript.cfm location: c:/railo/www/myApp/testPag e.cfm
HTML/CFML Code: <link ....>
SELECT CAST( YourColumn AS UNSIGNED INTEGER) AS LoggedInUsers
EDIT: RE URL's, I've never had that problem w/Railo, but I don't think the different port number should make any difference unless you were using a full URL, such as: http://localhost/app/someFile.css. In that case it *would* make a difference. Assuming you're not, can you give post a small example showing the paths you're trying and the exact error message?
ie
CSS location: c:/railo/www/myApp/css/sty
TestScript.cfm location: c:/railo/www/myApp/testPag
HTML/CFML Code: <link ....>
ASKER
DB Info:
I am using mySQL 5.0.19
My query looks like:
<CFQUERY NAME="getThreadID" DATASOURCE="#application.d efDSN#">
SELECT LoggedInUsersOnly
FROM thread_threads
WHERE ThreadID = <cfqueryparam value="#URL.ThreadID#" cfsqltype="CF_SQL_INTEGER" >
</CFQUERY>
As for my URL it seems to be using the full url, ie, http://localhost:888/....
I am accessing my site by using : http://localhost:8888/index.cfm. I can't get anything else to work for me.
In my code I am accessing the file using a relative path, ie, js/myjs.js but when I look at the console it seems to be using the full URL
I am using mySQL 5.0.19
My query looks like:
<CFQUERY NAME="getThreadID" DATASOURCE="#application.d
SELECT LoggedInUsersOnly
FROM thread_threads
WHERE ThreadID = <cfqueryparam value="#URL.ThreadID#" cfsqltype="CF_SQL_INTEGER"
</CFQUERY>
As for my URL it seems to be using the full url, ie, http://localhost:888/....
I am accessing my site by using : http://localhost:8888/index.cfm. I can't get anything else to work for me.
In my code I am accessing the file using a relative path, ie, js/myjs.js but when I look at the console it seems to be using the full URL
ASKER
I am thinking that instead of changing all of my code to cast my result that it might be easier for me to modify my database and change all of my fields that are of type bit to integer. Are there other datatypes that I should avoid using?
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I just tried changing my port to 80 by setting the following in the jetty.xml file:
<Set name="port"><Property name="jetty.port" default="80"/></Set>
I stopped and restarted Railo and I don't have Apache and IIS running. I have not installed IIS or Apache on this computer.
When I try to access my site by trying:
localhost:80/index.cfm (when I try this it automatically changes to localhost/index.cfm) or localhost/index.cfm I get:
Oops! Google Chrome could not connect to localhost
When my port is set to 8888 when I run the site I get errors in the console like:
GET http://localhost:8888/js/datetime.js 404 (Not Found) and I think I have just figured out what that problem is. When running Coldfusion the case of the file names is not important. I see when running Railo that file name case is important.
I think with the combination of changing the datatypes from bit to boolean in my database and fixing the file name case I should be able to get everything working.
Thank you for all of your help!
<Set name="port"><Property name="jetty.port" default="80"/></Set>
I stopped and restarted Railo and I don't have Apache and IIS running. I have not installed IIS or Apache on this computer.
When I try to access my site by trying:
localhost:80/index.cfm (when I try this it automatically changes to localhost/index.cfm) or localhost/index.cfm I get:
Oops! Google Chrome could not connect to localhost
When my port is set to 8888 when I run the site I get errors in the console like:
GET http://localhost:8888/js/datetime.js 404 (Not Found) and I think I have just figured out what that problem is. When running Coldfusion the case of the file names is not important. I see when running Railo that file name case is important.
I think with the combination of changing the datatypes from bit to boolean in my database and fixing the file name case I should be able to get everything working.
Thank you for all of your help!
Oh... yeah, you may be right. I remember with CF10 (running on Tomcat) I think it may be case sensitive. Ugh... I remember reading there might be a setting to disable that. If it's a Tomcat setting it should work for Railo too. Let me see if I can find it.
ASKER
Do you know of any good resources that have information about converting coldfusion tags that are not supported by Railo?
I don't know of anything official. I pretty much look up issues as they occur in the Railo docs and their google groups.
BTW, the two issues you encountered aren't really related to Railo. One is likely due to the behavior of the mySQL driver used (which could occur on any platform) and the other is due to Tomcat config.
BTW, the two issues you encountered aren't really related to Railo. One is likely due to the behavior of the mySQL driver used (which could occur on any platform) and the other is due to Tomcat config.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thank you for all of your help!
You're welcome. Any time :)
Can you be more specific? The port number shouldn't make any difference to relative url's. However, you should be able to change the port number to the default port 80 (assuming it's available on your machine).
http://www.aliaspooryorik.com/blog/index.cfm/e/posts.details/post/running-the-same-code-on-coldfusion-railo-348