4

CF10 (64 ビット) (開発者版?) を使用して Windows 2008 R2 (64 ビット) を使用しています。

この非常に基本的なチュートリアルを実装しようとしています: http://blogs.coldfusion.com/post.cfm/rest-support-in-coldfusion-part-i

ポート 8081 で IIS を使用して新しい Web サイトを作成し、次の 2 つのファイルを追加しました。

/index.cfm (理論的には、app 変数を含む application.cfc は必要ないため、これをスキップできたはずです)

<cfset s = "Hello World!">
<cfoutput>#s#</cfoutput>

/RestExample/HelloWorld.cfc

<cfcomponent rest="true" restPath="/hello">
        <cffunction name="sayHello" access="remote" returnType="String" httpMethod="GET">
                 <cfset res="Hello World">
                 <cfreturn res>
        </cffunction>
</cfcomponent>

CF 管理者:

  • ルート パス:C:/websites/test/RestExample/
  • サービス マッピング:Example

次のエラーが表示されます。

Error registering REST service. Please ensure that you have entered a proper mapping and path.
Application Example could not be initialized.
Reason: The application does not contain any rest enabled CFCs.
The application does not contain any rest enabled CFCs.

少しのシステム情報:

Server Product  ColdFusion  
Version  10,0,8,284032  
Tomcat Version  7.0.23.0  
Edition  Developer    
Serial Number  Developer    
Operating System  Windows Server 2008 R2    
OS Version  6.1    
Update Level  /C:/ColdFusion10/cfusion/lib/updates/chf10000008.jar    
Adobe Driver Version  4.1 (Build 0001)    
JVM Details  
Java Version  1.6.0_29    
Java Vendor  Sun Microsystems Inc.    
Java Vendor URL  http://java.sun.com/  
Java Home  C:\ColdFusion10\jre 

この時点で構成の問題かどうかわかりませんか? これは私の前の質問に関連しており、原因を特定するためにすべてを単純化しようとしています。

編集 #1 この非常に単純な RESTful サービスを Windows 7 64 ビット / CF 10 (更新なし) に問題なく追加できました。壊れているのは私のインストールなのか、それともアップデートが原因なのだろうか?

編集 #2 CF サーバーを再インストールしましたが、それでも同じ問題が発生しました。

編集 #3

milanchandna の提案に従って、次の手順に従いました。

  1. フォルダー c:\websites\milanchandna を作成しました
  2. IIS で新しい Web サイト (同じ名前の apppool を使用する milanchandna) を作成し、c:\websites\milanchandna をルートとして使用し、ポート 8084 で実行します。
  3. ジャカルタ仮想ディレクトリを作成しました(これが必要です)
  4. 基本的な HelloWorld.cfc を追加
  5. 正常に HelloWorld.cfc に移動し、エラーは発生しませんでした
  6. CF 管理、REST サービスで、以下を追加しました。
  7. ルート パス: C:/websites/milanchandna/
  8. サービス マッピング: 例
  9. [サービスを追加] をクリックします
  10. 取得エラー: REST サービスの登録中にエラーが発生しました。適切なマッピングとパスを入力したことを確認してください。アプリケーション例を初期化できませんでした。理由: アプリケーションに残りの有効な CFC が含まれていません。アプリケーションには、残りの有効な CFC が含まれていません。

HelloWorld.cfc:

<cfcomponent rest="true" restPath="/hello">
        <cffunction name="sayHello" access="remote" returnType="String" httpMethod="GET">
                 <cfset res="Hello World">
                 <cfreturn res>
        </cffunction>
</cfcomponent>
4

2 に答える 2

1

C:\ColdFusion10\cfusion\wwwroot (サイトの IIS ルートではなく) の下にファイルを作成し、管理コンソールを介して問題なく REST サービスを登録できました。

于 2013-03-28T15:13:23.847 に答える
0

これは機能しない基本的な例なので、最初から従うことをお勧めします。

  1. IISWebルートに新しい新しいフォルダーを作成します。これは、CFRESTにすでに使用されているフォルダー内にあるべきではありません。
  2. このフォルダーに1つの単純なRESTCFCを配置するだけで、他には何も配置されません。問題の説明にあるCFCの例は良さそうです、それを使ってみましょう。
  3. 他のcfmにアクセスするのと同じように、ブラウザからこのCFCにアクセスします。

    例:[http:// mysite:8081 / mypath_to_cfc / mycfc.cfc]

  4. これがエラーをスローするかどうかを確認します。もしそうなら、CFCに問題があります。そうでない場合は、行ってもいいです。

  5. このフォルダーを管理者からRESTアプリケーションとして登録します。
于 2013-03-11T12:58:22.617 に答える