Provavelmente � um erro em um argumento que n�o est� sendo passado ou o tipo de dados ao valor que est� sendo passado n�o � compat�vel.
 
 
� um erro muito comum. Eu considero at� um bug por ele n�o mostrar a excess�o que n�o est�o tratadas dentro do CFC
 
Para voc� ter ideia se voc� colocar um  <cfdump var="  " /> antes do seu c�digo ele lhe mostra o erro.
 
 
Por�m existe uma forma de ele lhe dizer onde � que est� ocorrendo o erro vou consertar no seu c�digo e vc testa pra ver.
 
 
Fa�a dessa forma( recomendo o estilo para quem desenvolve com CFCs )
 
 
<cfcomponent displayname="Sitema de Noticias" hint="Componente de encapsulamento das opera��es SQLs" output="no">
 
   <cffunction name="Insere Not�cia" returntype="Struct" output="false">
  
    <cfargument  name="noticiaID"   type="uuid"  required="yes"/>
    <cfargument  name="ano"     type="numeric"  required="yes"/>
    <cfargument  name="data"    type="date"  required="yes"/>
    <cfargument  name="fk_catNoticia"  type="string"  required="yes"/>
    <cfargument  name="titulo"    type="string"  required="yes"/>
    <cfargument  name="noticia"    type="string"  required="yes"/>
    <cfargument  name="autor"    type="string"  required="yes"/>
    <cfargument  name="exibirNoticia"  type="numeric"  required="yes"/>
    <cfargument  name="fk_usuario"   type="string"  required="yes"/>
 
    <cfargument  name="chamada"    type="string"  required="no"/>
    <cfargument  name="emailAutor"   type="string"  required="no"/>
    <cfargument  name="linkNoticia"   type="string"  required="no"/>
    <cfargument  name="txtImagem"   type="string"  required="no"/>
 
   <cfset var strRetorno    = structNew() />
   <cfset strRetorno['erro'] = false />
 
   <cftry>
      <cfquery datasource="#Application.DSN#">
        
         insert into  tbl_noticias(
               noticiaID,
               ano,
               data,
               fk_catNoticia,
               titulo,
               chamada,
               noticia,
               autor,
               emailAutor,
               linkNoticia,
               exibirNoticia,
               txtImagem,
               fk_usuario
              )
             values(
              '#arguments.noticiaID#',
              '#arguments.ano#',
               #CreateDateTime( Year( arguments.data ), Month( arguments.data ), Day( arguments.data ), Hour( arguments.data ), Minute( arguments.data ), Second( arguments.data ))#,
              '#arguments.fk_catNoticia#',
              '#arguments.titulo#',
              '#arguments.noticia#',
              '#arguments.autor#',
              '#arguments.exibirNoticia#',
              '#arguments.fk_usuario#',
              <cfif IsDefined('arguments.chamada') and Len(Trim(arguments.chamada))>
              '#arguments.chamada#'
              <cfelse>
              NULL
              </cfif>,
              <cfif IsDefined('arguments.emailAutor') and Len(Trim(arguments.emailAutor))>
              '#arguments.emailAutor#'
              <cfelse>
              NULL
              </cfif>,
              <cfif IsDefined('arguments.linkNoticia') and Len(Trim(arguments.linkNoticia))>
              '#arguments.linkNoticia#'
              <cfelse>
              NULL
              </cfif>,
              <cfif IsDefined('arguments.txtImagem') and Len(Trim(arguments.txtImagem))>
              '#arguments.txtImagem#'
              <cfelse>
                NULL
              </cfif>
                )
      </cfquery>
      
       <cfset strRetorno['mensagem'] = 'Not�cia cadastrada com Sucesso' />
   
   <cfcatch type="database">
      
       <cfset strRetorno['dump']    = cfcatch /> <!-- isso vc remove depois que tudo estiver ok --->
       <cfset strRetorno['erro']    = true />
       <cfset strRetorno['mensagem'] = 'Problemas ao tentar cadastrar not�cia' & cfcatch.Detail/>      
   </cfcatch> 
   
  </cftry>   
  
   <cfreturn strRetorno />
  
   </cffunction>
  
</cfcomponent>
======================================

<cfscript>
instancia    = createObject('component','adm_noticias');
insertNoticia = instancia.inserir( ArgumentCollection = Form ); // aqui vc passsa a cole��o dos argumentos, acredito que � bem mais pr�tico.
</cfscript>
<cfdump var="#insertNoticia#" label="Retorna uma estrutura, ou com a mensagem de sucesso ou com os detalhes do Erro Tratado"/>
 
 
 

Atenciosamente,
Jefferson Petilo
ICQ : 159071912
MSN: [EMAIL PROTECTED]
KM&M Engenharia de Sistemas

 


De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Carla Santos
Enviada em: ter�a-feira, 6 de abril de 2004 10:11
Para: Lista CFBrasil
Assunto: [cf-brasil] Erro 500 ao usar CFCs para Inserir

Ol� pessoal.
Estou tendo um erro [B]HTTP 500 - erro interno do servidor Internet Explorer[/B], fazendo uso de um CFC para cadastrar not�cias.
N�o consigo verificar onde est� o erro. Se algu�m puder me ajudar agrade�o.
Abaixo meu CFC:
adm_noticias.cfc
<cfcomponent displayname="Sitema de Noticias" hint="Componente de encapsulamento das opera��es SQLs" output="no">
<!---Fun��o para Inserir as Not�cias--->
   <cffunction name="Inserir" hint="Inser��o de novas Not�cias" returntype="any">
  <cfargument name="noticiaID" type="uuid" required="yes">
  <cfargument name="ano" type="numeric" required="yes">
  <cfargument name="data" type="date" required="yes">
  <cfargument name="fk_catNoticia" type="string" required="yes">
  <cfargument name="titulo" type="string" required="yes">
  <cfargument name="chamada" type="string" required="no">
  <cfargument name="noticia" type="string" required="yes">
  <cfargument name="autor" type="string" required="yes">
  <cfargument name="emailAutor" type="string" required="no">
  <cfargument name="linkNoticia" type="string" required="no">
  <cfargument name="exibirNoticia" type="numeric" required="yes">
  <cfargument name="txtImagem" type="string" required="no">
  <cfargument name="fk_usuario" type="string" required="yes">
 <cfquery name="qInsereNoticia" datasource="#Application.DSN#">
 insert into
 tbl_noticias(noticiaID, ano, data, fk_catNoticia, titulo, chamada, noticia, autor, emailAutor, linkNoticia, exibirNoticia, txtImagem, fk_usuario)
 values('#arguments.noticiaID#','#arguments.ano#','#arguments.data#','#arguments.fk_catNoticia#','#arguments.titulo#',
 '#arguments.chamada#','#arguments.noticia#','#arguments.autor#','#arguments.emailAutor#','#arguments.linkNoticia#',
 '#arguments.txtImagem#','#arguments.exibirNoticia#','#arguments.fk_usuario#')
 </cfquery>
 <cfreturn>
   </cffunction>
</cfcomponent>
======================================
Tenho uma p�gina de cadastro normal que ao ser enviado os dados vai para CadNoticias_sucesso.cfm onde fa�o a chamada do CFC:
<cfscript>
instancia = createObject('component','adm_noticias');
   insertNoticia = instancia.Inserir(ano=form.ano,
       data="">    fk_catNoticia=form.catNoticia,
    titulo=form.titulo,
    chamada = form.chamada,
    noticia=form.noticia,
       autor=form.autor,
       emailAutor=form.emailAutor,
       linkNoticia=form.linkNoticia,
       exibirNoticia=form.exibirNoticia,
       txtImagem=form.txtImagem,
    fk_usuario=form.fk_usuario);
</cfscript>
======================================
Abra�os
Carla Santos



Yahoo! Mail - O melhor e-mail do Brasil. Abra sua conta agora!

Responder a