Recently I started switching from a Model-Glue implementation with ColdSpring to FW/1 (Framework One) with ColdSpring on a project of mine.
An example service bean definition looks like this:
<bean id="geographic" class="geographicService" />
With the new FW/1 code, I tried calling a method in this service by using:
variables.fw.service ( 'geographic.getStatesByCountry', 'states' );
But ended up with this error:
Service ‘geographic.getStatesByCountry’ does not exist. To have the execution of this service be conditional based upon its existence, pass in a third parameter of ‘false’.
After hours of debugging, my team member finally found a solution; change the bean id from geographic to geographicService. Apparently FW/1 automatically appends “Service” to the bean ID it references so that it can cache services and controllers that way. This appears to be lacking in the FW/1 documentation, or at least clearly.
So the fix is:
<bean id="geographicService" class="geographicService" />