That is odd, Brett. Thanks for sharing all the details, to avoid some questions we might have otherwise wanted to ask.
I have a few things for you to consider/try. Sorry it's not the twitter answer some may prefer. :-) Those who don't like long emails, and don't care much about this topic, can of course skip the remainder here and wait to see if Brett or others offer any reply. :-) It is certainly odd that calling the service by passing in a method works, whereas calling for just the wsdl does not. In that regard, it makes me think of one thing in particular. First, as you may realize, technically, when you pass in a method and make the request via a browser (or from js code calling it), you're not really using web services. CF returns a string (formatted either as wddx, json, or plain text, depending on RETURNFORMAT on the cf function definition and other factors). The key point is that it doesn't in that case generate the WSDL (internally), nor does it return it. It's not relying on AXIS at all. But when you DO add the ?wsdl, then you ARE asking CF to generate the wsdl (relying on AXIS) and return it to the caller (in your case, I assume a browser display). So it could be that you're just having some problem with the internal configuration of web services within CF. It should all "just work". But it could be "broken" somehow. Since it's CF10 on which you're testing, I'd not suspect a badly applied CF hotfix. I've not heard others report it, but it doesn't mean there isn't a problem. One thing that is new in CF10 is the option (in the admin, or in code) to change CF from returning its result as Axis 2 or 1. Though I can't imagine it would help in your case, you may want to at least try changing that to see if it makes a difference in at least being able to generate the WSDL. Of course, whether you should be using Axis 1 or 2 when you DO start really doing web service calls into CF will depend on the clients making the calls. I'm just suggesting this as a diagnostic test to see if it makes any difference in the error you're getting. You mention mappings, and by that I assume you mean a CF one (in the Admin or in application.cfc). I'd not have thought that would be a player here, since those are about internal communications (a cf page invoking a CFC, for instance), as opposed to requests made via a web server, as these are. That said, it does raise an interesting question: I wonder if it's sensitive at all to some issue of web server configuration. I wouldn't think so, but since solve an AXIS config problem as above may be challenging, at least a quick test would be to see if the call fails the same way when using the internal web server. Of course, you'd need to copy the code you're testing to CF's internal wwwroot (in cf10, that's [cf10]\cfusion\wwwroot, if you're using a new instance, [cf10]\[instancename]\wwwroot), then call it using port 8500 (or whatever its port it). If you'd not enabled the built-in web server on installation of CF 10, you need to just tweak some XML (similar to previous releases of CF). I just blogged some extended discussion of doing that (and some other options available for the internal web server, as well as why some may want to reconsider its use as of CF10, perhaps even for production). More at http://bit.ly/OjBBOl (or the full URL,http://www.carehart.org/blog/client/index.cfm/2012/7/23/The-builtin-web- server-in-ColdFusion-10-enabling-it-configuring-it-reconsidering-it). But back to your challenge, at least, if you do make a test request to that wsdl URL using that internal web server and it DOES work, that too would be useful diagnostic info. One last thought on web server possibilities: as you say you're running Apache as multi-homed, have you confirmed this happens in other websites as well? Again, all this could be useful diagnostic info, whether to share here or if you may have to file a bug report. I'd say that unless the above helps, or others offer more thoughts, that may be your next best step (https://bugbase.adobe.com/). Hope something there's helpful. /charlie From: [email protected] [mailto:[email protected]] On Behalf Of Brett Payne-Rhodes Sent: Saturday, July 21, 2012 12:42 AM To: [email protected] Subject: [cfaussie] In migrating from CF8 to CF10 I have come across and issue with the ?wsdl generation... I generally put components into a /cfc directory immediatley below the webroot for each site but I have found that with CF10 the ?wsdl query is failing. This doesn't really matter much at the moment as the services are all being consumed from the client side using javascript and jQuery but I am concerned that this could soon be an issue as we start to expand our use of services. As an example I have created a very simple Hello World cfc and when I put the file into the webroot everything works fine: http://cftest.yoursite.net.au/hello1.cfc?wsdl and http://cftest.yoursite.net.au/hello1.cfc?method=helloWorld works fine However if I move the cfc into a directory below the webroot things get confused... http://cftest.yoursite.net.au/cfc/hello2.cfc?wsdl - given an AXIS error, but http://cftest.yoursite.net.au/cfc/hello2.cfc?method=helloWorld still gives the expected result I wondered if there was a chance that the name of the directory could be an issue so I tried an alternative but there was no difference... http://cftest.yoursite.net.au/cfxx/hello3.cfc?wsdl still give en error, and http://cftest.yoursite.net.au/cfxx/hello3.cfc?method=helloWorld still works as expected I've read quite a few posts about mappings and cfcs but con't find anything definitive. This is a multihomed server running Apache2.2 so I'm not sure how a mapping would help - unless there is something that CF needs mapped but I can't find a hint for that anywhere. One other thing to note... I did edit the neo_xmlrpc.xml file to version 1 but the only effect appears to be that the error message says "AXIS error" for a version value 1 and "HTTP Status 500" for a version value of 2. So, am I just missing a mapping? I even tried mapping "/" to the CF10 webroot but that had no effect. Many thanks! Brett B) ps. apologies for the cross posting for anyone following the Adobe CF forums.. -- You received this message because you are subscribed to the Google Groups "cfaussie" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups "cfaussie" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en.
