• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

8.01 WSDL generation: Seems like a bug (Changes Case)

New Here ,
Aug 18, 2008 Aug 18, 2008

Copy link to clipboard

Copied

I am not sure why this is happening but there there seem to be a change in the way coldfusion is auto-generating a WSDL form a cfc file in 8.01. The WSDL generated from 8.01 seem to be Changing the 'Case' of the properties /Methods contained . which is not a Problem in CF exposed Apps but does cause a lot of headache integrating into Java based app Clients. As the lower to upper and upper to lower case change seem to make the java App client interperate the properties in the WSDL incorrectly due to its Case Sensitive nature.

Has anyone Experienced this or can anyone point to where the WSDL generation could be fine tuned further..

The behavior can be simulated by having the same cfc WSDL exposed in 8.0 and 8.1 environments and by looking at the WSDL generated. Even after Clearing the Cache (cfc-skeletons & cfclasses folder) & Restarting the Service The WSDL seem be displayed with methods and properties having a different case when WSDL is Compared.

Any help or direction to look to would be appreciated
TOPICS
Advanced techniques

Views

2.2K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 19, 2008 Aug 19, 2008

Copy link to clipboard

Copied

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!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 19, 2008 Aug 19, 2008

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 25, 2008 Aug 25, 2008

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 04, 2008 Sep 04, 2008

Copy link to clipboard

Copied

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.. :(

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jan 20, 2009 Jan 20, 2009

Copy link to clipboard

Copied

Did anyone ever come up with a solution for this? Thanks.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jan 20, 2009 Jan 20, 2009

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jan 27, 2009 Jan 27, 2009

Copy link to clipboard

Copied

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.
example below:

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Mar 10, 2009 Mar 10, 2009

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Mar 10, 2009 Mar 10, 2009

Copy link to clipboard

Copied

fgwenger wrote:
>
> <CFFUNCTION NAME="add_address" ACCESS="remote" RETURNTYPE="rc_add_address"
> OUTPUT="FALSE">
>

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'?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Mar 10, 2009 Mar 10, 2009

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Mar 10, 2009 Mar 10, 2009

Copy link to clipboard

Copied

fgwenger wrote:
> 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.
>

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Mar 11, 2009 Mar 11, 2009

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 13, 2010 Aug 13, 2010

Copy link to clipboard

Copied

LATEST

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.

Thanks

DK

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation