Steve Bryant wrote:I am trying to plan my first web services application.I'm not very familar with WS's but I suggest search houseoffusion.com - I recall question coming up often. You might start here: http://www.houseoffusion.com/cf_lists/index.cfm/method=messages&threadid=38478&forumid=4 Also, this message belongs to the thread but for some reason there is no threadID for it and therefore I can't find it on houseoffusion - pasted copy below: Subject: Webservices Complex data Types From: Tom Jordahl <[EMAIL PROTECTED]> Date: Mon, 21 Feb 2005 11:59:41 -0500 Thread: http://www.houseoffusion.com/cf_lists/index.cfm/method=messages&threadid=0&forumid=4#195754 Umer, If it is an enumeration type (I need to see the actual Schema) then CFMX 6.l doesn't handle it, but CFMX 7 should do it fine. We will construct the Java enumeration type that the Axis generated stub requires using the String constructor. This code was missing from 6.1. Lawrence is incorrect that CFMX can't handle a complex type inside a complex type. The Web service code should correctly make a JavaBean type from any struct that you pass, even if that struct is inside another struct. In short, most of the problems with invoking web services with complex types are in guessing the CFML structures that will match the JavaBeans generated by the Axis engine. One of the methods for debugging complex data types is to invoke the Apache Axis "WSDL2Java" program directly on the WSDL you are trying to consume. This will generate Java classes (sometimes lots of classes) that you can then examine to find out what exactly is required for the service. Here is how: Set your CLASSPATH environment variable to include the following jar files cfusion/lib/axis.jar cfusion/lib/saaj.jar cfusion/lib/jaxrpc.jar cfusion/lib/xercesImpl.jar cfusion/lib/wsdl4j.jar cfusion/lib/commons-logging-1.0.2.jar cfusion/lib/commons-discovery.jar For example on Windows, change directory to CFusionMX7\lib: C:\CFusionMX7\lib>set CLASSPATH=axis.jar;saaj.jar;jaxrpc.jar;xercesImpl.jar;wsdl4j.jar;commons-log ging-1.0.2.jar;commons-discovery.jar Then run java org.apache.axis.wsdl.WSDL2Java -v -o myoutput http://host/to/my/wsdl Replace the URL with the URL of your WSDL file and "myoutput" with the directory you want the files generate to go to. Then take a look at the files generated. In particular you can look for the "interface" that will contain all of the operations of the web service. You can then see the Java types that CFMX is trying to create from your CFML. Hope this helps. Tom Jordahl Macromedia Server Development -- Peter J. Farrell :: Maestro Publishing blog :: http://blog.maestropublishing.com email :: [EMAIL PROTECTED] phone :: 651-204-0513---------------------------------------------------------- You are subscribed to cfcdev. To unsubscribe, send an email to [email protected] with the words 'unsubscribe cfcdev' as the subject of the email. CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting (www.cfxhosting.com). An archive of the CFCDev list is available at www.mail-archive.com/[email protected] |
- Re: [CFCDev] Complex Data in web services Peter J. Farrell
- RE: [CFCDev] Complex Data in web services Roland Collins
- [CFCDev] OT: QoQ Substring? Roland Collins
- RE: [CFCDev] OT: QoQ Substring? Kirk Brogdon
- RE: [CFCDev] OT: QoQ Substring? Roland Collins
- RE: [CFCDev] Complex Data in web services Steven Brownlee
