When I run “pdfObj = createObject(‘webservice’, ‘myTargetUrlHere’)”, an error is generated: No Webservice Engine is installed! Check out the Extension Store in the Lucee Administrator for “Webservices”.
I don’t see “Webservices” in the in the extension store. Where can I get that?
Brad TY for responding. I’m trying to move an app from an ACF box to a Lucee box. Installing the Axis extension got me past that inital error. Now I’m getting “ERROR: Missing soap:fault element inFault “cfc.pdf.cfcCFCInvocationException” in operation “cfc.pdf.cfcCFCInvocationException”, in binding clientCostPDFExists”. Does that bring anything to mind? The webservice it’s calling is on an ACF box. For now I’m doing an http call to it and that works BUT createObject not working is really annoying my poor coworker.
Michael, it could be that there’s a mismatch in the soap/wsdl version between Lucee and acf. As you may recall, the cf admin has a setting that can set that version number (as 1or 2), and it can be overridden at the app-level or cfc level.
Then when you call a web service (createobject/cfobject/cf invoke), those also let one set that version number, otherwise they too they inherit the admin or app level setting, if any.
So consider those permutations and options (on Lucee as the consumer and acf as the publisher) to see if any get you going.
Or maybe Brad or others may more readily recognize some Lucee-specific solution based on that error.
The ACF server that’s hosting the web service is set to version 2. I looked at the doc for createObject on Lucee but it doesn’t appear to have a way to specify the wsversion (as ACF does). As a workaround I’m able to call the web service via a cfhttp call. Are there reasons to avoid using a http call (as opposed to a createObject/webservice call)?
FYI - I tried createObject(“webservice”,“url-to-webservice”,{wsversion = 2}) but no joy.
While it’s indeed true that web svcs use http under the covers, there’s a LOT more to the process, including a) identifying from the wsdl xml what the methods are, and their args and types. Then b) when you call those, there’s the marshaling of those, esp if also xml, into cfml objects.
Mike, you might want to consider either changing the cf cfc to serve itself as wsversion 1, or create a second variant that does it if you need the first to remain version 2.
(I wasn’t aware that Lucee didn’t support Axis 2, soap 2, and wsdl 1.2. ACF added those in cf10 in 2012. Of course choices have to be made, and demand’s an important factor in Lucee functionality, along with the team deciding what’s worthwhile. They’re also open to sponsored projects, but given the seeming lack of interest in 10 years, I’d recommend that workaround above.)