First, set output to "false" on your init() function.  Next, add the
"required" attribute to the argument in your init() function and set
it to "true".

On Sun, 18 Jul 2004 18:02:06 -0400, Cutter (CF-Talk)
<[EMAIL PROTECTED]> wrote:
> So, I have the CFC of which I am trying to start on some webservices
> stuff. Here is a basic object CFC with it's init function (and nothing
> else.) Following the code is a copy of wsdl I'm getting back.
>
> <cfcomponent displayname="Category">
>         <cfproperty name="ID" type="numeric" default="0">
>         <cfproperty name="category" type="string">
>         <cfproperty name="status" type="boolean">
>
>         <cffunction name="init" access="remote" output="true" returntype="struct">
>                 <cfargument name="ID" type="numeric" default="0">
>                 <cfoutput>
>                         <script>
>                                 alert('we are here');
>                         </script>
>                 </cfoutput>
>                 <cfscript>
>                         instance = structNew();
>                         instance.ID = 0;
>                         instance.category = "";
>                         instance.status = 1;
>                 </cfscript>
>
>                 <cfif arguments.ID neq 0>
>                         <cfquery name="cat" datasource="#application.config.DSN#">
>                                 select  txtBoutCat as category,
>                                                 blActive as status
>                                 from    tblboutcat2
>                                 where   intBoutCatID = <cfqueryparam cfsqltype="cf_sql_integer"
> value="#arguments.ID#">
>                         </cfquery>
>
>                         <cfif cat.recordcount eq 1>
>                                 <cfscript>
>                                         instance.ID = arguments.ID;
>                                         instance.category = cat.category;
>                                         instance.status = cat.status;
>                                 </cfscript>
>                         </cfif>
>                 </cfif>
>                 <cfreturn this>
>         </cffunction>
> </cfcomponent>
>
> ***Error Msg In WSDL***
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions
> targetNamespace="http://test.seacrets.com.cfcomponents.system.seacrets"
> xmlns:impl="http://test.seacrets.com.cfcomponents.system.seacrets"
> xmlns:intf="http://test.seacrets.com.cfcomponents.system.seacrets"
> xmlns:apachesoap="http://xml.apache.org/xml-soap"
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:tns1="http://rpc.xml.coldfusion"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns="http://schemas.xmlsoap.org/wsdl/"><wsdl:types><schema
> xmlns="http://www.w3.org/2001/XMLSchema"
> targetNamespace="http://xml.apache.org/xml-soap"><import
> namespace="http://schemas.xmlsoap.org/soap/encoding/"/><complexType
> name="mapItem"><sequence><element name="key" nillable="true"
> type="xsd:string"/><element name="value" nillable="true"
> type="xsd:string"/></sequence></complexType><complexType
> name="Map"><sequence><element name="item" minOccurs="0"
> maxOccurs="unbounded"
> type="apachesoap:mapItem"/></sequence></complexType></schema><schema
> xmlns="http://www.w3.org/2001/XMLSchema"
> targetNamespace="http://rpc.xml.coldfusion"><import
> namespace="http://schemas.xmlsoap.org/soap/encoding/"/><complexType
> name="CFCInvocationException"><sequence/></complexType></schema></wsdl:types>
> <wsdl:message name="CFCInvocationException">
>      <wsdl:part name="fault" type="tns1:CFCInvocationException"/>
>    </wsdl:message>
> <wsdl:message name="initRequest">
>      <wsdl:part name="ID" type="xsd:double"/>
>    </wsdl:message>
> <wsdl:message name="initResponse">
>      <wsdl:part name="initReturn" type="apachesoap:Map"/>
>    </wsdl:message>
>    <wsdl:portType name="testthis">
>      <wsdl:operation name="init" parameterOrder="ID">
>        <wsdl:input name="initRequest" message="impl:initRequest"/>
>        <wsdl:output name="initResponse" message="impl:initResponse"/>
>        <wsdl:fault name="CFCInvocationException"
> message="impl:CFCInvocationException"/>
>      </wsdl:operation>
>    </wsdl:portType>
> <wsdl:binding name="testthis.cfcSoapBinding" type="impl:testthis">
>      <wsdlsoap:binding style="rpc"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>      <wsdl:operation name="init">
>        <wsdlsoap:operation soapAction=""/>
>        <wsdl:input name="initRequest">
>          <wsdlsoap:body use="encoded"
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://test.seacrets.com.cfcomponents.system.seacrets"/>
>        </wsdl:input>
>        <wsdl:output name="initResponse">
>          <wsdlsoap:body use="encoded"
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://test.seacrets.com.cfcomponents.system.seacrets"/>
>        </wsdl:output>
>        <wsdl:fault name="CFCInvocationException">
>          <wsdlsoap:fault use="encoded"
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://test.seacrets.com.cfcomponents.system.seacrets"/>
>        </wsdl:fault>
>      </wsdl:operation>
> </wsdl:binding>
>    <wsdl:service name="testthisService">
>      <wsdl:port name="testthis.cfc" binding="impl:testthis.cfcSoapBinding">
>        <wsdlsoap:address
> location="http://192.168.44.45/seacrets/system/cfcomponents/com/seacrets/test/testthis.cfc"/>
>      </wsdl:port>
>    </wsdl:service>
> </wsdl:definitions>
>
> Why can't I get this to work?
>
> Cutter
>
>
[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]

Reply via email to