This content has been marked as final. Show 13 replies
I have having the same problem, where the complexType names and the portType names now have their first letter uppercased. The unpatched CF8 (and CF7) used the same case as the underlying CFC filenames.
This is annoying because I have several installations of my web service deployed to clients and when they choose to update their CF8 version they will break their connectivity with yet another third party who is running a java-based (case-sensitive) consumer. My current advice to them would have to be "don't run updater 1".
Does anyone have a fix? Is it possible to create a static WSDL somewhere for the time being until Adobe can address this issue?
Thanks for any help!
To Simulate this Behaviour:-
step 1) Sample Files as below put under a folder \XYZ\
step 2) generate WSDL seperately from 8.0 and 8.01 using (http : //127.0.0.1/XYZ/test.cfc?WSDL)
step 3) Compare Diff betweeen WSDL.Case change will be evident.
I've concluded that, while it is inconvenient that Adobe has changed this behaviour, the WSDL they are generating is technically correct. Which is to say, if you were to build a consumer for your webservice from scratch, the ColdFusion service will behave as described by the WSDL.
Bottom line: You have to re-build any consumers which can't handle this change. Preferable re-code them so they still work if the WSDL changes in future.
Hmm, update 8.01 = Recode-of code.
This would be ok to do on small size apps ( but again nice to know if it was documented some where about this change)
In larger enterprise size applications. where the wsdl is the only Interface with other enterprise Apps. any un-documented change of behavior is unacceptable. We have had a hugh outage due to the fact of this unexplanied/unexpected behavior that the update has produced which should have just been the update to some bugs as mentioned in the hotfix.
This just adds one tick on the "Why not not use Coldfusion" at enterprise level for the non CF community.. :(
Did anyone ever come up with a solution for this? Thanks.
Our server upgrades are on hold for months now due to this problem.
Emails sent to Adobe for any sort of response do not seem to be getting anywhere.
I just ran into this recently myself and solved it.
If you look at the docs, you notice a lot of metadata type stuff that you'd normally use for documenting your cfc's cfcomponent tag.
What it doesn't tell you is that this metadata is also used by the wsdl generator to create the service name.
thus, if you have service names changing case in the wsdl, explicitly use the DisplayName attribute to perm set the case.
We have a returntype that is a CFC, and ColdFusion is now title-casing that name. I don't know of any way to apply a "display name" to the function return variable (rc_add_address below becomes Rc_add_address). We are still stuck needing an upgrade, but not being able to without requiring all of our partners to change their code.
> <CFFUNCTION NAME="add_address" ACCESS="remote" RETURNTYPE="rc_add_address"
Shot in the dark here, but can you set the display name in the
<cfcomponent...> tag of the rc_add_address to 'Rc_add_address'?
There is a java piece calling the web service, and they are expecting 'rc_add_address' (no capital), and they break when the returntype of 'rc_add_address' is not present (because it's 'Rc_add_address'). Thanks, though.
> There is a java piece calling the web service, and they are expecting
> 'rc_add_address' (no capital), and they break when the returntype of
> 'rc_add_address' is not present (because it's 'Rc_add_address'). Thanks,
Ah, that sounds problematic.
Still shooting wildly in the dark here, as I never dealt with anything
like this, but does setting the display name in the component tag to
'rc_add_address' do anything? Just to try it.
Yeah, we tried that (I just tried it again), and it still shows Rc_add_address in the WSDL. Thanks again and feel free to keep making suggestions.
Did you ever find a solution to this? If so, please share it. We are running into similar issue - we migrated our webservice from CF7 to CF8 - and now everythings broken.