tracker issue : CF-4203357

select a category, or use search below
(searches all categories and all time range)
Title:

WSDL service name inconsistent case

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/AsDesigned

Reporter/Name(from Bugbase): Yuliang Ruan / ()

Created: 09/25/2018

Components: Web Services, Axis 2

Versions: 2016

Failure Type: Incorrectly functioning

Found In Build/Fixed In Build: 2016.0.07.311392 C:/ColdFusion2016/cfusion/lib/updates/chf20160007.jar /

Priority/Frequency: Normal /

Locale/System: / Win 2016

Vote Count: 0

Problem Description:
we have dev,staging,production environments.   on production, one of our CFC wsdl's  generates service name as camelcase  <wsdl:service name="EnterMfgr.cfc"> </wsdl:service>

on dev and staging environments,  the wsdl generates as lowercase   <wsdl:service name="entermfgr.cfc"></wsdl:service>

all environments are on Webservice Axis 2.   

this currently breaks our development and staging environments as the WSDL's are different even though the CFC source is exactly the same.  

production environment was created by installing CF in "production profile"
staging environment was mirrored from production image
dev environment was created by installing CF in  "development profile"

Steps to Reproduce:

Actual Result:
wsdl service name all lowercase

Expected Result:
wsdl service name camelcase

Any Workarounds:

Attachments:

Comments:

Hi  Yuliang, Could you tell me how you are generating the wsdl? Through any code or through browser? Also, if if I have understood the issue correctly, the conflict is with production and development environment?    -Poonam
Comment by Poonam J.
29799 | October 17, 2018 12:40:52 PM GMT
Hi Poonam. thru browser HTTP call. yes the difference in environment is only thing we could think of. same JDK. what confuses me is that even though staging and production match exactly since they're clones, the behavior is different. the CFC is actually named enterMfgr.cfc . exact same file. we've since applied a workaround to use the displayname="EnterMfgr.cfc" attribute value to force the wsdl service name.
Comment by Yuliang R.
29800 | October 17, 2018 02:34:39 PM GMT
Hi  Yuliang, Ok. So let me tell you the background of the workflow here. Firstly, there in no relation of Development and Production profile here. This issue can be replicated on production profile too. On Development env:  First time when the wsdl was hit, using lower case and wsdl got generated in memory at server side and service name rendered was <wsdl:service name="entermfgr.cfc"></wsdl:service>. Now next time when you hit using camel case , the generated wsdl didnot change the service name because it was mapped in memory with lower case and in memory, the behavior is case insensitive. The only way to change the service name is using "Display name" attribute or restart the server. After restart stub will be re-generated in memory , but make sure that you are using camel case while hitting the url. On production : You didnot hit this issue because the first hit url had camel case. but if you had used lower case during first time, you would have hit the issue on production too.   thanks -Poonam  
Comment by Poonam J.
29815 | October 22, 2018 10:59:17 AM GMT
Hi  Yuliang, Any update on this? -Poonam
Comment by Poonam J.
29869 | October 29, 2018 04:44:39 AM GMT