3

Web サイトのごく一部に Web サービスをセットアップしていますが、サイト全体では十分な量のトラフィックが得られますが、この特定のサービスでは得られません。1 日に 1 回、Web サービスを介してリクエストを送信すると、最初の試行では失敗しますが、2 回目のリクエストの再試行は問題なく機能します。メモリにキャッシュされていないかのようで、起動中にタイムアウトします。

このサービスを自分側または CF アプリ (当社の別部門) である Web サービス プロバイダー側​​で有効にしておく方法はありますか? 長い期間の後に一度だけ発生するため、トラブルシューティングが少し難しい. また、このサービスにpingを実行し続けるためだけに別のプロセスをセットアップしたくありません。

4

3 に答える 3

4

テンプレートへの呼び出しの間にサーバーが定期的に再起動されている場合は、管理者 (キャッシュの下) で「クラス ファイルの保存」設定が有効になっていることを確認して、各サーバーのリロード後にテンプレートが再コンパイルされないようにします。

于 2009-01-23T03:21:51.627 に答える
1

requesttimeout を増やしてみて、それが役立つかどうかを確認してください。

于 2009-01-22T20:32:33.640 に答える
1

Web サービス クライアント側で次のメソッドを使用してみることができます。CF7+ には、coldfusion.server.ServiceFactory Java サービスが組み込まれています。

コードは次のようになります

<cftry>
    <!--- here goes attempt to invoke service method, maybe dummy "ping" --->
<cfcatch type="any">
    <!--- trying to refresh WSDL --->
    <cfset createObject("java","coldfusion.server.ServiceFactory").XmlRpcService.refreshWebService(ServiceURL) />
</cfcatch>
</cftry>
<!--- usual code --->

お役に立てれば。

注: このファクトリには多くの便利なメソッドが含まれていますが、インターネット上のドキュメントはほとんどありません。それを捨てて少し調べてみることをお勧めします。

于 2009-02-02T00:01:52.463 に答える