I *think* you mean how do you handle sending multiple records to the
cffunction? In which case I'd suggest passing the data in as an object
(struct, array or query) then looping over the object to create multiple
"JOB" nodes.

Am I on the right track or did I misunderstand you?


On Thu, Aug 26, 2010 at 2:42 PM, Ray Meade <raym...@yahoo.com> wrote:

>
> I've been trying to figure this out for days now and my deadline is almost
> up. I need to create a complex web service that will receive multiple
> records from the consumer and create an XML file that will be copied into a
> directory and processed. Right now, we receive an XML file via email which
> we upload to the web server and upon upload completion a series of tasks
> processes the file and inserts the data into our database automatically. All
> I really need to do is to take the incoming web service data and create an
> XML file with it, but I don't even know how to reference the data when there
> are multiple records. I managed to get a single record web service created
> just fine just by using the following:
>
> NewJobUpdates.cfc (the name of this file)
>
> <cfcomponent>
>    <cffunction name="NEWJOB" access="remote" returntype="void" output="no">
>        <cfargument name="USERNAME" type="string">
>        <cfargument name="PASSWORD" type="string">
>        <cfargument name="JOBCOMPANYNAME" type="string">
>        <cfargument name="JOBCODE" type="string">
>        <cfargument name="JOBTITLE" type="string">
>        <cfargument name="JOBINDUSTRIES" type="string">
>        <cfargument name="JOBFUNCTIONS" type="string">
>        <cfargument name="JOBLOCATION" type="string">
>        <cfargument name="JOBSTATE" type="numeric">
>        <cfargument name="JOBDESCRIPTION" type="string">
>        <cfargument name="JOBOPPORTUNITY" type="string">
>        <cfargument name="JOBCOMPENSATION" type="string">
>        <cfargument name="JOBMINCOMPENSATION" type="numeric">
>        <cfargument name="JOBMINEXPERIENCE" type="numeric">
>        <cfargument name="JOBMAXEXPERIENCE" type="numeric">
>        <cfargument name="JOBCONTACTNAME" type="string">
>        <cfargument name="JOBCONTACTEMAIL" type="string">
>        <cfargument name="JOBCONTACTSTATUS" type="numeric">
>        <cfargument name="JOBCONTACTURL" type="string">
>        <cfargument name="JOBCONTACTPHONE" type="string">
>        <cfargument name="JOBCONTACTFAX" type="string">
>        <cfargument name="JOBSHOWRIGHTEYES" type="numeric">
>        <cfargument name="JOBRECEIVERIGHTEYES" type="numeric">
>        <cfargument name="JOBIONUMBER" type="string">
>        <cfargument name="JOBTYPE" type="numeric">
>        <cfargument name="JOBVERIFICATION" type="numeric">
>
> <!--- This script adds extraneous data needed for processing --->
> <cfscript>
>  strSixFigData="6Figs";
>  strBOAData="6Figs";
>  strAAAData="allen";
>  strSixFigNest="6FigsNest";
>  companyjobsencryptkey="6figC0m94ny";
>  strSessionLockName="sixfigurejobs_#client.cfid#_#client.cftoken#";
>  strLockTimeout=10;
>  intRandOrd=randrange(100000, 999999);
>  strAppAddToken="#URLToken#";
>  strAppAddToken=strAppAddToken & iif(not(len(strAppAddToken)), DE(""),
> DE("&"));
>  strAppAddToken="#strAppAddToken#" & "noCache=" & "#intRandOrd#";
>  strAppAddToken = "100k=1";
>  </cfscript>
>
> <!--- This creates the XML document --->
> <CFXML variable="xmlDoc">
> <cfoutput>
> <JOBS>
> <USERNAME>#arguments.username#</USERNAME>
> <PASSWORD>#arguments.password#</PASSWORD>
> <JOB>
>   <JOBCOMPANYNAME>#arguments.JOBCOMPANYNAME#</JOBCOMPANYNAME>
>   <JOBCODE>#arguments.JOBCODE#</JOBCODE>
>   <JOBTITLE><![CDATA[#arguments.JOBTITLE#]]></JOBTITLE>
>   <JOBINDUSTRIES>#arguments.JOBINDUSTRIES#</JOBINDUSTRIES>
>   <JOBFUNCTIONS>#arguments.JOBFUNCTIONS#</JOBFUNCTIONS>
>   <JOBLOCATION><![CDATA[#arguments.JOBLOCATION#]]></JOBLOCATION>
>   <JOBSTATE>#arguments.JOBSTATE#</JOBSTATE>
>   <JOBDESCRIPTION><![CDATA[#arguments.JOBDESCRIPTION#]]></JOBDESCRIPTION>
>   <JOBOPPORTUNITY>#arguments.JOBOPPORTUNITY#</JOBOPPORTUNITY>
>
> <JOBCOMPENSATION><![CDATA[#arguments.JOBCOMPENSATION#]]></JOBCOMPENSATION>
>   <JOBMINCOMPENSATION>#arguments.JOBMINCOMPENSATION#</JOBMINCOMPENSATION>
>   <JOBMINEXPERIENCE>#arguments.JOBMINEXPERIENCE#</JOBMINEXPERIENCE>
>   <JOBMAXEXPERIENCE>#arguments.JOBMAXEXPERIENCE#</JOBMAXEXPERIENCE>
>   <JOBCONTACTNAME>#arguments.JOBCONTACTNAME#</JOBCONTACTNAME>
>   <JOBCONTACTEMAIL>#arguments.JOBCONTACTEMAIL#</JOBCONTACTEMAIL>
>   <JOBCONTACTSTATUS>#arguments.JOBCONTACTSTATUS#</JOBCONTACTSTATUS>
>   <JOBCONTACTURL><![CDATA[#arguments.JOBCONTACTURL#]]></JOBCONTACTURL>
>   <JOBCONTACTPHONE>#arguments.JOBCONTACTPHONE#</JOBCONTACTPHONE>
>   <JOBCONTACTFAX>#arguments.JOBCONTACTFAX#</JOBCONTACTFAX>
>   <JOBSHOWRIGHTEYES>#arguments.JOBSHOWRIGHTEYES#</JOBSHOWRIGHTEYES>
>
> <JOBRECEIVERIGHTEYES>#arguments.JOBRECEIVERIGHTEYES#</JOBRECEIVERIGHTEYES>
>   <JOBIONUMBER>#arguments.JOBIONUMBER#</JOBIONUMBER>
>   <JOBTYPE>#arguments.JOBTYPE#</JOBTYPE>
>   <JOBVERIFICATION>#arguments.JOBVERIFICATION#</JOBVERIFICATION>
> </JOB>
> </JOBS>
> </cfoutput>
> </CFXML>
>
> <!--- This writes the XML file to the web server --->
> <CFFile action="WRITE"
> file="c:\webroot\6figurejobs\webservices\incoming\newjobupload.xml"
> output="#toString(xmlDoc)#">
>
> <!--- And this runs the process against the newly created XML file --->
> <cflocation url="ws_ProcessFrame.cfm">
>   </cffunction>
> </cfcomponent>
>
> This runs perfectly, but how do I create one to handle multiple records
> (complex data types)? Please help, my deadline will be here in 4 days.
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:336595
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to