Hi Etwan,

I think your problem is that gameTest[] is not a valid data type. It
is the name of an array, but it is not a datatype. The datatype would
simply be an array. This array holds multiple instances of the
gameTest object, but still the datatype itself would simply be an
array.

Dean

On 10/26/07, Etwan Sherdloo <[EMAIL PROTECTED]> wrote:
> Goal: To create a webservice that can accept an array of 
> structures/components.
>
> Problem: The webservice will not accept the array of structures/components 
> passed to it.
>
> Code:
> 1) The following is the code that creates the array of structures/components 
> and invokes the webservice. (Testws.cfm)
>
> <cfoutput>
>
>        <!--- Creat Test Game Object --->
>        <cfset arrGame = ArrayNew(1)>
>        <cfloop index="i" from=1 to=5>
>                <cfset arrGame[i] = CreateObject("component", "gameTest")>
>                <cfset arrGame[i].setGameID(ToString(i))>
>                <cfset arrGame[i].setHomeSSID("OHSSTEST" & i)>
>        </cfloop>
>        <b>arrGame:</b><br><cfdump var="#arrGame#">
>        <cfinvoke 
> webservice="http://dev.schedulestar.com/Tim/webservicetest.cfc?wsdl"; 
> method="complextype1" returnvariable="serviceResult" Games="#arrGame#">
>
>        <br><br><b>serviceResult:</b><br><cfdump var="#serviceResult#">
> </cfoutput>
>
> 2) The following is the code for the web service (webservicetest.cfc)
>
> <cfcomponent>
>        <cffunction name="complextype1" returntype="gameTest[]" 
> access="remote">
>                <cfargument name="Games" type="gameTest[]" required="yes">
>
>
>                <cfset arrGame = arraynew(1)> <!--- Return Variable --->
>
>                <!--- Creat Game --->
>                <cfloop index="s" from=1 to="#arraylen(Games)#">
>                        <cfset arrGame[s] = CreateObject("component", 
> "gameTest")>
>                        <cfset arrGame[s].setGameID(ToString(s))>
>                        <cfset arrGame[s].setHomeSSID(Games[s].getHomeSSID)>
>                </cfloop>
>
>                <cfreturn arrGame>
>        </cffunction>
>
> </cfcomponent>
>
> 3) The following is the component. An array of this component is made and 
> passed to the webservice. (gameTest.cfc)
>
> <cfcomponent>
>        <cfproperty name="GameID" type="string">
>        <cfproperty name="HomeSSID" type="string">
>
>        <!--- Initialize --->
>        <cfscript>
>                this.GameID = "0";
>                this.HomeSSID = "";
>        </cfscript>
>
>        <!--- Methods --->
>        <cffunction name="getGameID" access="public" returntype="string">
>                <cfreturn this.GameID>
>        </cffunction>
>        <cffunction name="setGameID" access="public">
>                <cfargument name="game" type="string" required="yes">
>                <cfset this.GameID = game>
>        </cffunction>
>
>        <cffunction name="getHomeSSID" access="public" returntype="string">
>                <cfreturn this.HomeSSID>
>        </cffunction>
>        <cffunction name="setHomeSSID" access="public">
>                <cfargument name="ssid" type="string" required="yes">
>                <cfset this.HomeSSID = ssid>
>        </cffunction>
> </cfcomponent>
>
>
> Basically, the testWS.cfm file creates an array of the component and passes 
> it to the webservice. No matter what I try to do, errors continue to be 
> thrown. I believe the problem is in the code for the webservice. Thank you 
> for your help.
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
ColdFusion 8 - Build next generation apps
today, with easy PDF and Ajax features - download now
http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:292178
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to